diff --git a/Documentation/Pf2e.Database/Action.Actions.md b/Documentation/Pf2e.Database/Action.Actions.md
new file mode 100644
index 0000000..d428b5f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Action.Actions.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Action](Action.md 'Pf2e\.Database\.Model\.Structure\.Action')
+
+## Action\.Actions Property
+
+Количество действий\.
+
+```csharp
+public Pf2e.Database.Model.Enum.ActionEnum Actions { get; set; }
+```
+
+#### Property Value
+[ActionEnum](ActionEnum.md 'Pf2e\.Database\.Model\.Enum\.ActionEnum')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Action.Category.md b/Documentation/Pf2e.Database/Action.Category.md
new file mode 100644
index 0000000..d7b4065
--- /dev/null
+++ b/Documentation/Pf2e.Database/Action.Category.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Action](Action.md 'Pf2e\.Database\.Model\.Structure\.Action')
+
+## Action\.Category Property
+
+Категория действия\.
+
+```csharp
+public Pf2e.Database.Model.Enum.ActionCategory Category { get; set; }
+```
+
+#### Property Value
+[ActionCategory](ActionCategory.md 'Pf2e\.Database\.Model\.Enum\.ActionCategory')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Action.Entity.md b/Documentation/Pf2e.Database/Action.Entity.md
new file mode 100644
index 0000000..614a6c2
--- /dev/null
+++ b/Documentation/Pf2e.Database/Action.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Action](Action.md 'Pf2e\.Database\.Model\.Structure\.Action')
+
+## Action\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Action.Extra.md b/Documentation/Pf2e.Database/Action.Extra.md
new file mode 100644
index 0000000..d12a371
--- /dev/null
+++ b/Documentation/Pf2e.Database/Action.Extra.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Action](Action.md 'Pf2e\.Database\.Model\.Structure\.Action')
+
+## Action\.Extra Property
+
+Дополнительная информация\.
+
+```csharp
+public string? Extra { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Action.Id.md b/Documentation/Pf2e.Database/Action.Id.md
new file mode 100644
index 0000000..cd36caa
--- /dev/null
+++ b/Documentation/Pf2e.Database/Action.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Action](Action.md 'Pf2e\.Database\.Model\.Structure\.Action')
+
+## Action\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Action.md b/Documentation/Pf2e.Database/Action.md
new file mode 100644
index 0000000..16aaf83
--- /dev/null
+++ b/Documentation/Pf2e.Database/Action.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Action Class
+
+Действие\.
+
+```csharp
+public class Action : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Action
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Actions](Action.Actions.md 'Pf2e\.Database\.Model\.Structure\.Action\.Actions') | Количество действий\. |
+| [Category](Action.Category.md 'Pf2e\.Database\.Model\.Structure\.Action\.Category') | Категория действия\. |
+| [Entity](Action.Entity.md 'Pf2e\.Database\.Model\.Structure\.Action\.Entity') | Корневая сущность\. |
+| [Extra](Action.Extra.md 'Pf2e\.Database\.Model\.Structure\.Action\.Extra') | Дополнительная информация\. |
+| [Id](Action.Id.md 'Pf2e\.Database\.Model\.Structure\.Action\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/ActionCategory.md b/Documentation/Pf2e.Database/ActionCategory.md
new file mode 100644
index 0000000..0f1ca68
--- /dev/null
+++ b/Documentation/Pf2e.Database/ActionCategory.md
@@ -0,0 +1,77 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## ActionCategory Enum
+
+Тип действия\.
+
+```csharp
+public enum ActionCategory
+```
+### Fields
+
+
+
+`Unknown` 0
+
+Неизвестный тип действия\.
+
+
+
+`Archetype` 1
+
+Действие архетипа\.
+
+
+
+`SkillAction` 2
+
+Дествие навыка\.
+
+
+
+`ClassFeature` 3
+
+Действие классовой способности\.
+
+
+
+`ClassFeat` 4
+
+Действие классовой черты\.
+
+
+
+`Familiar` 5
+
+Действие фамильяра\.
+
+
+
+`ArmyTactic` 6
+
+Действие тактики армии\.
+
+
+
+`ArmyWarAction` 7
+
+Действие войны армии\.
+
+
+
+`KingdomActivity` 8
+
+Активность королевства\.
+
+
+
+`KingdomFeat` 9
+
+Действие черты королевства\.
+
+
+
+`KingdomFeature` 10
+
+Действие особенности королевства\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ActionEnum.md b/Documentation/Pf2e.Database/ActionEnum.md
new file mode 100644
index 0000000..db0f059
--- /dev/null
+++ b/Documentation/Pf2e.Database/ActionEnum.md
@@ -0,0 +1,137 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## ActionEnum Enum
+
+Перечиленение количества действий\.
+
+```csharp
+public enum ActionEnum
+```
+### Fields
+
+
+
+`Unknown` 0
+
+Неизвестное количество действий\.
+
+
+
+`SingleAction` 1
+
+Одно действие\.
+
+
+
+`TwoActions` 2
+
+Два действия\.
+
+
+
+`ThreeActions` 3
+
+Три действия\.
+
+
+
+`Reaction` 4
+
+Реакция\.
+
+
+
+`FreeAction` 5
+
+Свободное действие\.
+
+
+
+`Passive` 6
+
+Пассивное действие\.
+
+
+
+`Other` 7
+
+Иное количество действий, не указанное в перечислении\.
+
+
+
+`SingleActionToThreeActions` 8
+
+От одного до трёх действий\.
+
+
+
+`SingleActionToTwoActions` 9
+
+От одного до двух действий\.
+
+
+
+`TwoActionsToThreeActions` 10
+
+От двух до трёх действий\.
+
+
+
+`TwoActionsToTwoRounds` 11
+
+От двух действий до двух раундов\.
+
+
+
+`ReactionOrOneAction` 12
+
+Реакция или одно действие\.
+
+
+
+`ReactionOrTwoAction` 13
+
+Реакция или два действия\.
+
+
+
+`ReactionOrThreeAction` 14
+
+Реакция или три действия\.
+
+
+
+`FreeActionOrOneAction` 15
+
+Свободное действие или одно действие\.
+
+
+
+`OneMinute` 16
+
+Одная минута\.
+
+
+
+`FiveMinutes` 17
+
+Пять минут\.
+
+
+
+`TenMinutes` 18
+
+Десять минут\.
+
+
+
+`ThirtyMinutes` 19
+
+Тридцать минут\.
+
+
+
+`OneHour` 20
+
+Один час\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.AncestryBoosts.md b/Documentation/Pf2e.Database/Ancestry.AncestryBoosts.md
new file mode 100644
index 0000000..3ee254f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.AncestryBoosts.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.AncestryBoosts Property
+
+Коллекция повышениий аттрибутов\.
+
+```csharp
+public System.Collections.Generic.ICollection AncestryBoosts { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[AncestryBoost](AncestryBoost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.AncestryItems.md b/Documentation/Pf2e.Database/Ancestry.AncestryItems.md
new file mode 100644
index 0000000..8e3de95
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.AncestryItems.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.AncestryItems Property
+
+Коллекция сущностей родословной\.
+
+```csharp
+public System.Collections.Generic.ICollection AncestryItems { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[AncestryItem](AncestryItem.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.AncestryLanguages.md b/Documentation/Pf2e.Database/Ancestry.AncestryLanguages.md
new file mode 100644
index 0000000..c7c8ac0
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.AncestryLanguages.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.AncestryLanguages Property
+
+Коллекция языков родословной\.
+
+```csharp
+public System.Collections.Generic.ICollection AncestryLanguages { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[AncestryLanguage](AncestryLanguage.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.Entity.md b/Documentation/Pf2e.Database/Ancestry.Entity.md
new file mode 100644
index 0000000..520c5ed
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.Heritages.md b/Documentation/Pf2e.Database/Ancestry.Heritages.md
new file mode 100644
index 0000000..0c1d5bd
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.Heritages.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.Heritages Property
+
+Коллекция наследий\.
+
+```csharp
+public System.Collections.Generic.ICollection Heritages { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Heritage](Heritage.md 'Pf2e\.Database\.Model\.Structure\.Heritage')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.Hp.md b/Documentation/Pf2e.Database/Ancestry.Hp.md
new file mode 100644
index 0000000..a11ae45
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.Hp.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.Hp Property
+
+Количество очков здоровья\.
+
+```csharp
+public int Hp { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.Id.md b/Documentation/Pf2e.Database/Ancestry.Id.md
new file mode 100644
index 0000000..869dee0
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.Size.md b/Documentation/Pf2e.Database/Ancestry.Size.md
new file mode 100644
index 0000000..19b346f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.Size.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.Size Property
+
+Размеры родословной\.
+
+```csharp
+public Pf2e.Database.Model.Enum.SizeEnum[] Size { get; set; }
+```
+
+#### Property Value
+[SizeEnum](SizeEnum.md 'Pf2e\.Database\.Model\.Enum\.SizeEnum')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.Speed.md b/Documentation/Pf2e.Database/Ancestry.Speed.md
new file mode 100644
index 0000000..4bae7d2
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.Speed.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.Speed Property
+
+Скорость передвижения\.
+
+```csharp
+public int Speed { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.VisionEnum.md b/Documentation/Pf2e.Database/Ancestry.VisionEnum.md
new file mode 100644
index 0000000..b34ae3d
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.VisionEnum.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+
+## Ancestry\.VisionEnum Property
+
+Тип зрения\.
+
+```csharp
+public Pf2e.Database.Model.Enum.VisionEnum VisionEnum { get; set; }
+```
+
+#### Property Value
+[VisionEnum](VisionEnum.md 'Pf2e\.Database\.Model\.Enum\.VisionEnum')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ancestry.md b/Documentation/Pf2e.Database/Ancestry.md
new file mode 100644
index 0000000..95dffb9
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ancestry.md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Ancestry Class
+
+Родословная\.
+
+```csharp
+public class Ancestry : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Ancestry
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [AncestryBoosts](Ancestry.AncestryBoosts.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.AncestryBoosts') | Коллекция повышениий аттрибутов\. |
+| [AncestryItems](Ancestry.AncestryItems.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.AncestryItems') | Коллекция сущностей родословной\. |
+| [AncestryLanguages](Ancestry.AncestryLanguages.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.AncestryLanguages') | Коллекция языков родословной\. |
+| [Entity](Ancestry.Entity.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.Entity') | Корневая сущность\. |
+| [Heritages](Ancestry.Heritages.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.Heritages') | Коллекция наследий\. |
+| [Hp](Ancestry.Hp.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.Hp') | Количество очков здоровья\. |
+| [Id](Ancestry.Id.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.Id') | Идентификатор сущности\. |
+| [Size](Ancestry.Size.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.Size') | Размеры родословной\. |
+| [Speed](Ancestry.Speed.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.Speed') | Скорость передвижения\. |
+| [VisionEnum](Ancestry.VisionEnum.md 'Pf2e\.Database\.Model\.Structure\.Ancestry\.VisionEnum') | Тип зрения\. |
diff --git a/Documentation/Pf2e.Database/AncestryBoost.Ancestry.md b/Documentation/Pf2e.Database/AncestryBoost.Ancestry.md
new file mode 100644
index 0000000..d296cd9
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryBoost.Ancestry.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryBoost](AncestryBoost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost')
+
+## AncestryBoost\.Ancestry Property
+
+Родословная, к которой относится этот элемент набора повышений атрибутов\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Ancestry Ancestry { get; set; }
+```
+
+#### Property Value
+[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryBoost.AncestryId.md b/Documentation/Pf2e.Database/AncestryBoost.AncestryId.md
new file mode 100644
index 0000000..a4512e0
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryBoost.AncestryId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryBoost](AncestryBoost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost')
+
+## AncestryBoost\.AncestryId Property
+
+Идентификатор родословной, к которой относится этот элемент\.
+
+```csharp
+public int AncestryId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryBoost.Boost.md b/Documentation/Pf2e.Database/AncestryBoost.Boost.md
new file mode 100644
index 0000000..684c55d
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryBoost.Boost.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryBoost](AncestryBoost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost')
+
+## AncestryBoost\.Boost Property
+
+Указывает, является ли этот элемент повышением атрибута\. Если `false` \- это снижение атрибута\.
+
+```csharp
+public bool Boost { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryBoost.Id.md b/Documentation/Pf2e.Database/AncestryBoost.Id.md
new file mode 100644
index 0000000..f3d18e4
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryBoost.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryBoost](AncestryBoost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost')
+
+## AncestryBoost\.Id Property
+
+Идентификатор элемента\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryBoost.Value.md b/Documentation/Pf2e.Database/AncestryBoost.Value.md
new file mode 100644
index 0000000..31f9375
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryBoost.Value.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryBoost](AncestryBoost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost')
+
+## AncestryBoost\.Value Property
+
+Значение атрибута, которое повышается или понижается в этом элементе набора повышений атрибутов\.
+
+```csharp
+public Pf2e.Database.Model.Enum.AttributeValues Value { get; set; }
+```
+
+#### Property Value
+[AttributeValues](AttributeValues.md 'Pf2e\.Database\.Model\.Enum\.AttributeValues')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryBoost.md b/Documentation/Pf2e.Database/AncestryBoost.md
new file mode 100644
index 0000000..0cf58b9
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryBoost.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation')
+
+## AncestryBoost Class
+
+Элемент набора повышений атрибутов для родословной\.
+
+```csharp
+public class AncestryBoost
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AncestryBoost
+
+| Properties | |
+| :--- | :--- |
+| [Ancestry](AncestryBoost.Ancestry.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost\.Ancestry') | Родословная, к которой относится этот элемент набора повышений атрибутов\. |
+| [AncestryId](AncestryBoost.AncestryId.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost\.AncestryId') | Идентификатор родословной, к которой относится этот элемент\. |
+| [Boost](AncestryBoost.Boost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost\.Boost') | Указывает, является ли этот элемент повышением атрибута\. Если `false` \- это снижение атрибута\. |
+| [Id](AncestryBoost.Id.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost\.Id') | Идентификатор элемента\. |
+| [Value](AncestryBoost.Value.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost\.Value') | Значение атрибута, которое повышается или понижается в этом элементе набора повышений атрибутов\. |
diff --git a/Documentation/Pf2e.Database/AncestryItem.Ancestry.md b/Documentation/Pf2e.Database/AncestryItem.Ancestry.md
new file mode 100644
index 0000000..e56f8e6
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryItem.Ancestry.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryItem](AncestryItem.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem')
+
+## AncestryItem\.Ancestry Property
+
+Родословная, к которой относится сущность\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Ancestry Ancestry { get; set; }
+```
+
+#### Property Value
+[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryItem.AncestryId.md b/Documentation/Pf2e.Database/AncestryItem.AncestryId.md
new file mode 100644
index 0000000..480f3b1
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryItem.AncestryId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryItem](AncestryItem.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem')
+
+## AncestryItem\.AncestryId Property
+
+Идентификатор родословной\.
+
+```csharp
+public int AncestryId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryItem.Item.md b/Documentation/Pf2e.Database/AncestryItem.Item.md
new file mode 100644
index 0000000..b966e2c
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryItem.Item.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryItem](AncestryItem.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem')
+
+## AncestryItem\.Item Property
+
+Сущность, связанная с родословной\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Item { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryItem.ItemId.md b/Documentation/Pf2e.Database/AncestryItem.ItemId.md
new file mode 100644
index 0000000..f579fe3
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryItem.ItemId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryItem](AncestryItem.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem')
+
+## AncestryItem\.ItemId Property
+
+Идентификатор сущности, связанной с родословной\.
+
+```csharp
+public int ItemId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryItem.Level.md b/Documentation/Pf2e.Database/AncestryItem.Level.md
new file mode 100644
index 0000000..985910b
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryItem.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryItem](AncestryItem.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem')
+
+## AncestryItem\.Level Property
+
+Уровень сущности в родословной\.
+
+```csharp
+public int Level { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryItem.md b/Documentation/Pf2e.Database/AncestryItem.md
new file mode 100644
index 0000000..7321cff
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryItem.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation')
+
+## AncestryItem Class
+
+Связь между родословной и сущностью\.
+
+```csharp
+public class AncestryItem
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AncestryItem
+
+| Properties | |
+| :--- | :--- |
+| [Ancestry](AncestryItem.Ancestry.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem\.Ancestry') | Родословная, к которой относится сущность\. |
+| [AncestryId](AncestryItem.AncestryId.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem\.AncestryId') | Идентификатор родословной\. |
+| [Item](AncestryItem.Item.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem\.Item') | Сущность, связанная с родословной\. |
+| [ItemId](AncestryItem.ItemId.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem\.ItemId') | Идентификатор сущности, связанной с родословной\. |
+| [Level](AncestryItem.Level.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem\.Level') | Уровень сущности в родословной\. |
diff --git a/Documentation/Pf2e.Database/AncestryLanguage.Ancestry.md b/Documentation/Pf2e.Database/AncestryLanguage.Ancestry.md
new file mode 100644
index 0000000..e67b2e9
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryLanguage.Ancestry.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryLanguage](AncestryLanguage.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage')
+
+## AncestryLanguage\.Ancestry Property
+
+Родословная, к которой относится язык\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Ancestry Ancestry { get; set; }
+```
+
+#### Property Value
+[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryLanguage.AncestryId.md b/Documentation/Pf2e.Database/AncestryLanguage.AncestryId.md
new file mode 100644
index 0000000..a828a13
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryLanguage.AncestryId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryLanguage](AncestryLanguage.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage')
+
+## AncestryLanguage\.AncestryId Property
+
+Идентификатор родословной, к которой относится язык\.
+
+```csharp
+public int AncestryId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryLanguage.IsAdditional.md b/Documentation/Pf2e.Database/AncestryLanguage.IsAdditional.md
new file mode 100644
index 0000000..500c287
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryLanguage.IsAdditional.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryLanguage](AncestryLanguage.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage')
+
+## AncestryLanguage\.IsAdditional Property
+
+Является ли язык дополнительным для родословной\.
+
+```csharp
+public bool IsAdditional { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryLanguage.Language.md b/Documentation/Pf2e.Database/AncestryLanguage.Language.md
new file mode 100644
index 0000000..cf94f8f
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryLanguage.Language.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryLanguage](AncestryLanguage.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage')
+
+## AncestryLanguage\.Language Property
+
+Язык, связанный с родословной\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Language Language { get; set; }
+```
+
+#### Property Value
+[Language](Language.md 'Pf2e\.Database\.Model\.Structure\.Language')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryLanguage.LanguageId.md b/Documentation/Pf2e.Database/AncestryLanguage.LanguageId.md
new file mode 100644
index 0000000..690cd32
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryLanguage.LanguageId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation').[AncestryLanguage](AncestryLanguage.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage')
+
+## AncestryLanguage\.LanguageId Property
+
+Идентификатор языка, связанного с родословной\.
+
+```csharp
+public int LanguageId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/AncestryLanguage.md b/Documentation/Pf2e.Database/AncestryLanguage.md
new file mode 100644
index 0000000..f3b38ec
--- /dev/null
+++ b/Documentation/Pf2e.Database/AncestryLanguage.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation')
+
+## AncestryLanguage Class
+
+Связь между родословной и языком\.
+
+```csharp
+public class AncestryLanguage
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AncestryLanguage
+
+| Properties | |
+| :--- | :--- |
+| [Ancestry](AncestryLanguage.Ancestry.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage\.Ancestry') | Родословная, к которой относится язык\. |
+| [AncestryId](AncestryLanguage.AncestryId.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage\.AncestryId') | Идентификатор родословной, к которой относится язык\. |
+| [IsAdditional](AncestryLanguage.IsAdditional.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage\.IsAdditional') | Является ли язык дополнительным для родословной\. |
+| [Language](AncestryLanguage.Language.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage\.Language') | Язык, связанный с родословной\. |
+| [LanguageId](AncestryLanguage.LanguageId.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage\.LanguageId') | Идентификатор языка, связанного с родословной\. |
diff --git a/Documentation/Pf2e.Database/Archetype.DedicationFeat.md b/Documentation/Pf2e.Database/Archetype.DedicationFeat.md
new file mode 100644
index 0000000..b854381
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.DedicationFeat.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+
+## Archetype\.DedicationFeat Property
+
+Посвящение в архетип\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Feat DedicationFeat { get; set; }
+```
+
+#### Property Value
+[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Archetype.DedicationFeatId.md b/Documentation/Pf2e.Database/Archetype.DedicationFeatId.md
new file mode 100644
index 0000000..79f8ad0
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.DedicationFeatId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+
+## Archetype\.DedicationFeatId Property
+
+Идентификатор способности, которая является посвящением в архетип\.
+
+```csharp
+public System.Nullable DedicationFeatId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Archetype.Entity.md b/Documentation/Pf2e.Database/Archetype.Entity.md
new file mode 100644
index 0000000..cf82913
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+
+## Archetype\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Archetype.Extra.md b/Documentation/Pf2e.Database/Archetype.Extra.md
new file mode 100644
index 0000000..50f6642
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.Extra.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+
+## Archetype\.Extra Property
+
+Дополнительная информация об архетипе\.
+
+```csharp
+public string? Extra { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Archetype.Feats.md b/Documentation/Pf2e.Database/Archetype.Feats.md
new file mode 100644
index 0000000..92c1d87
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.Feats.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+
+## Archetype\.Feats Property
+
+Способности архетипа\.
+
+```csharp
+public System.Collections.Generic.ICollection Feats { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Archetype.Id.md b/Documentation/Pf2e.Database/Archetype.Id.md
new file mode 100644
index 0000000..c9f2ca9
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+
+## Archetype\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Archetype.Level.md b/Documentation/Pf2e.Database/Archetype.Level.md
new file mode 100644
index 0000000..5d5c709
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+
+## Archetype\.Level Property
+
+Уровень\.
+
+```csharp
+public int Level { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Archetype.md b/Documentation/Pf2e.Database/Archetype.md
new file mode 100644
index 0000000..ab65502
--- /dev/null
+++ b/Documentation/Pf2e.Database/Archetype.md
@@ -0,0 +1,24 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Archetype Class
+
+Архетип\.
+
+```csharp
+public class Archetype : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Archetype
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [DedicationFeat](Archetype.DedicationFeat.md 'Pf2e\.Database\.Model\.Structure\.Archetype\.DedicationFeat') | Посвящение в архетип\. |
+| [DedicationFeatId](Archetype.DedicationFeatId.md 'Pf2e\.Database\.Model\.Structure\.Archetype\.DedicationFeatId') | Идентификатор способности, которая является посвящением в архетип\. |
+| [Entity](Archetype.Entity.md 'Pf2e\.Database\.Model\.Structure\.Archetype\.Entity') | Корневая сущность\. |
+| [Extra](Archetype.Extra.md 'Pf2e\.Database\.Model\.Structure\.Archetype\.Extra') | Дополнительная информация об архетипе\. |
+| [Feats](Archetype.Feats.md 'Pf2e\.Database\.Model\.Structure\.Archetype\.Feats') | Способности архетипа\. |
+| [Id](Archetype.Id.md 'Pf2e\.Database\.Model\.Structure\.Archetype\.Id') | Идентификатор сущности\. |
+| [Level](Archetype.Level.md 'Pf2e\.Database\.Model\.Structure\.Archetype\.Level') | Уровень\. |
diff --git a/Documentation/Pf2e.Database/ArchetypeFeats.ArchetypeId.md b/Documentation/Pf2e.Database/ArchetypeFeats.ArchetypeId.md
new file mode 100644
index 0000000..89c640e
--- /dev/null
+++ b/Documentation/Pf2e.Database/ArchetypeFeats.ArchetypeId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ArchetypeRelation](Pf2e.Database.Model.Structure.ArchetypeRelation.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation').[ArchetypeFeats](ArchetypeFeats.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation\.ArchetypeFeats')
+
+## ArchetypeFeats\.ArchetypeId Property
+
+Идентификатор архетипа, к которому относится черта\.
+
+```csharp
+public int ArchetypeId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ArchetypeFeats.FeatId.md b/Documentation/Pf2e.Database/ArchetypeFeats.FeatId.md
new file mode 100644
index 0000000..88a7139
--- /dev/null
+++ b/Documentation/Pf2e.Database/ArchetypeFeats.FeatId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ArchetypeRelation](Pf2e.Database.Model.Structure.ArchetypeRelation.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation').[ArchetypeFeats](ArchetypeFeats.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation\.ArchetypeFeats')
+
+## ArchetypeFeats\.FeatId Property
+
+Идентификатор черты, связанной с архетипом\.
+
+```csharp
+public int FeatId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ArchetypeFeats.md b/Documentation/Pf2e.Database/ArchetypeFeats.md
new file mode 100644
index 0000000..6278d52
--- /dev/null
+++ b/Documentation/Pf2e.Database/ArchetypeFeats.md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ArchetypeRelation](Pf2e.Database.Model.Structure.ArchetypeRelation.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation')
+
+## ArchetypeFeats Class
+
+Связь между архетипом и его чертами\.
+
+```csharp
+public class ArchetypeFeats
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ArchetypeFeats
+
+| Properties | |
+| :--- | :--- |
+| [ArchetypeId](ArchetypeFeats.ArchetypeId.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation\.ArchetypeFeats\.ArchetypeId') | Идентификатор архетипа, к которому относится черта\. |
+| [FeatId](ArchetypeFeats.FeatId.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation\.ArchetypeFeats\.FeatId') | Идентификатор черты, связанной с архетипом\. |
diff --git a/Documentation/Pf2e.Database/AttributeValues.md b/Documentation/Pf2e.Database/AttributeValues.md
new file mode 100644
index 0000000..16bb7dd
--- /dev/null
+++ b/Documentation/Pf2e.Database/AttributeValues.md
@@ -0,0 +1,53 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## AttributeValues Enum
+
+Перечисление значений атрибутов\.
+
+```csharp
+public enum AttributeValues
+```
+### Fields
+
+
+
+`Free` 0
+
+Свободный атрибут\.
+
+
+
+`Strength` 1
+
+Сила\.
+
+
+
+`Dexterity` 2
+
+Ловкость\.
+
+
+
+`Constitution` 3
+
+Телосложение\.
+
+
+
+`Intelligence` 4
+
+Интеллект\.
+
+
+
+`Wisdom` 5
+
+Мудрость\.
+
+
+
+`Charisma` 6
+
+Харизма\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Background.BackgroundBoosts.md b/Documentation/Pf2e.Database/Background.BackgroundBoosts.md
new file mode 100644
index 0000000..dfd1c0e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Background.BackgroundBoosts.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
+
+## Background\.BackgroundBoosts Property
+
+Аттрибуты предыстории\.
+
+```csharp
+public System.Collections.Generic.ICollection BackgroundBoosts { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[BackgroundBoost](BackgroundBoost.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Background.BackgroundItems.md b/Documentation/Pf2e.Database/Background.BackgroundItems.md
new file mode 100644
index 0000000..8e85a5d
--- /dev/null
+++ b/Documentation/Pf2e.Database/Background.BackgroundItems.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
+
+## Background\.BackgroundItems Property
+
+Способности предыстории\.
+
+```csharp
+public System.Collections.Generic.ICollection BackgroundItems { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[BackgroundItem](BackgroundItem.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Background.BackgroundSkills.md b/Documentation/Pf2e.Database/Background.BackgroundSkills.md
new file mode 100644
index 0000000..f2eee57
--- /dev/null
+++ b/Documentation/Pf2e.Database/Background.BackgroundSkills.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
+
+## Background\.BackgroundSkills Property
+
+Навыки предыстории\.
+
+```csharp
+public System.Collections.Generic.ICollection BackgroundSkills { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Background.Entity.md b/Documentation/Pf2e.Database/Background.Entity.md
new file mode 100644
index 0000000..08d01ec
--- /dev/null
+++ b/Documentation/Pf2e.Database/Background.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
+
+## Background\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Background.Id.md b/Documentation/Pf2e.Database/Background.Id.md
new file mode 100644
index 0000000..ab3a668
--- /dev/null
+++ b/Documentation/Pf2e.Database/Background.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
+
+## Background\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Background.md b/Documentation/Pf2e.Database/Background.md
new file mode 100644
index 0000000..610dab0
--- /dev/null
+++ b/Documentation/Pf2e.Database/Background.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Background Class
+
+Предыстория\.
+
+```csharp
+public class Background : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Background
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [BackgroundBoosts](Background.BackgroundBoosts.md 'Pf2e\.Database\.Model\.Structure\.Background\.BackgroundBoosts') | Аттрибуты предыстории\. |
+| [BackgroundItems](Background.BackgroundItems.md 'Pf2e\.Database\.Model\.Structure\.Background\.BackgroundItems') | Способности предыстории\. |
+| [BackgroundSkills](Background.BackgroundSkills.md 'Pf2e\.Database\.Model\.Structure\.Background\.BackgroundSkills') | Навыки предыстории\. |
+| [Entity](Background.Entity.md 'Pf2e\.Database\.Model\.Structure\.Background\.Entity') | Корневая сущность\. |
+| [Id](Background.Id.md 'Pf2e\.Database\.Model\.Structure\.Background\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/BackgroundBoost.Attribute.md b/Documentation/Pf2e.Database/BackgroundBoost.Attribute.md
new file mode 100644
index 0000000..24905dc
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundBoost.Attribute.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundBoost](BackgroundBoost.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost')
+
+## BackgroundBoost\.Attribute Property
+
+Атрибут, к которому относится этот элемент набора атрибутов для предыстории\.
+
+```csharp
+public Pf2e.Database.Model.Enum.AttributeValues Attribute { get; set; }
+```
+
+#### Property Value
+[AttributeValues](AttributeValues.md 'Pf2e\.Database\.Model\.Enum\.AttributeValues')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundBoost.Background.md b/Documentation/Pf2e.Database/BackgroundBoost.Background.md
new file mode 100644
index 0000000..80c497f
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundBoost.Background.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundBoost](BackgroundBoost.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost')
+
+## BackgroundBoost\.Background Property
+
+Предыстория, к которой относится этот элемент набора атрибутов\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Background Background { get; set; }
+```
+
+#### Property Value
+[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundBoost.BackgroundId.md b/Documentation/Pf2e.Database/BackgroundBoost.BackgroundId.md
new file mode 100644
index 0000000..64a0ca6
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundBoost.BackgroundId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundBoost](BackgroundBoost.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost')
+
+## BackgroundBoost\.BackgroundId Property
+
+Идентификатор предыстории, к которой относится этот элемент набора атрибутов\.
+
+```csharp
+public int BackgroundId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundBoost.Id.md b/Documentation/Pf2e.Database/BackgroundBoost.Id.md
new file mode 100644
index 0000000..7c79014
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundBoost.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundBoost](BackgroundBoost.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost')
+
+## BackgroundBoost\.Id Property
+
+Идентификатор элемента набора атрибутов для предыстории\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundBoost.md b/Documentation/Pf2e.Database/BackgroundBoost.md
new file mode 100644
index 0000000..95efe47
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundBoost.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation')
+
+## BackgroundBoost Class
+
+Элемент набора атрибутов для предыстории\.
+
+```csharp
+public class BackgroundBoost
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 BackgroundBoost
+
+| Properties | |
+| :--- | :--- |
+| [Attribute](BackgroundBoost.Attribute.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost\.Attribute') | Атрибут, к которому относится этот элемент набора атрибутов для предыстории\. |
+| [Background](BackgroundBoost.Background.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost\.Background') | Предыстория, к которой относится этот элемент набора атрибутов\. |
+| [BackgroundId](BackgroundBoost.BackgroundId.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost\.BackgroundId') | Идентификатор предыстории, к которой относится этот элемент набора атрибутов\. |
+| [Id](BackgroundBoost.Id.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost\.Id') | Идентификатор элемента набора атрибутов для предыстории\. |
diff --git a/Documentation/Pf2e.Database/BackgroundItem.Background.md b/Documentation/Pf2e.Database/BackgroundItem.Background.md
new file mode 100644
index 0000000..05922e9
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundItem.Background.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundItem](BackgroundItem.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem')
+
+## BackgroundItem\.Background Property
+
+Предыстория, к которой относится сущность\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Background Background { get; set; }
+```
+
+#### Property Value
+[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundItem.BackgroundId.md b/Documentation/Pf2e.Database/BackgroundItem.BackgroundId.md
new file mode 100644
index 0000000..ec71406
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundItem.BackgroundId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundItem](BackgroundItem.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem')
+
+## BackgroundItem\.BackgroundId Property
+
+Идентификатор элемента предыстории\.
+
+```csharp
+public int BackgroundId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundItem.Entity.md b/Documentation/Pf2e.Database/BackgroundItem.Entity.md
new file mode 100644
index 0000000..49f1c8a
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundItem.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundItem](BackgroundItem.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem')
+
+## BackgroundItem\.Entity Property
+
+Сущность, связанная с предысторией\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundItem.EntityId.md b/Documentation/Pf2e.Database/BackgroundItem.EntityId.md
new file mode 100644
index 0000000..4fff562
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundItem.EntityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundItem](BackgroundItem.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem')
+
+## BackgroundItem\.EntityId Property
+
+Идентификатор сущности, связанной с предысторией\.
+
+```csharp
+public int EntityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundItem.Level.md b/Documentation/Pf2e.Database/BackgroundItem.Level.md
new file mode 100644
index 0000000..7bd2409
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundItem.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundItem](BackgroundItem.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem')
+
+## BackgroundItem\.Level Property
+
+Уровень элемента предыстории, если применимо\. Может быть null, если уровень не указан или не применим\.
+
+```csharp
+public System.Nullable Level { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundItem.md b/Documentation/Pf2e.Database/BackgroundItem.md
new file mode 100644
index 0000000..fc8c9ba
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundItem.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation')
+
+## BackgroundItem Class
+
+Элемент предыстории, который может быть способностью, навыком или другим элементом, связанным с предысторией\.
+
+```csharp
+public class BackgroundItem
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 BackgroundItem
+
+| Properties | |
+| :--- | :--- |
+| [Background](BackgroundItem.Background.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem\.Background') | Предыстория, к которой относится сущность\. |
+| [BackgroundId](BackgroundItem.BackgroundId.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem\.BackgroundId') | Идентификатор элемента предыстории\. |
+| [Entity](BackgroundItem.Entity.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem\.Entity') | Сущность, связанная с предысторией\. |
+| [EntityId](BackgroundItem.EntityId.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem\.EntityId') | Идентификатор сущности, связанной с предысторией\. |
+| [Level](BackgroundItem.Level.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem\.Level') | Уровень элемента предыстории, если применимо\. Может быть null, если уровень не указан или не применим\. |
diff --git a/Documentation/Pf2e.Database/BackgroundTraining.Background.md b/Documentation/Pf2e.Database/BackgroundTraining.Background.md
new file mode 100644
index 0000000..4029446
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundTraining.Background.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining')
+
+## BackgroundTraining\.Background Property
+
+Предыстория, к которой относится тренировка\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Background Background { get; set; }
+```
+
+#### Property Value
+[Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundTraining.BackgroundId.md b/Documentation/Pf2e.Database/BackgroundTraining.BackgroundId.md
new file mode 100644
index 0000000..dc076c6
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundTraining.BackgroundId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining')
+
+## BackgroundTraining\.BackgroundId Property
+
+Идентификатор предыстории, к которой относится тренировка\.
+
+```csharp
+public int BackgroundId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundTraining.Id.md b/Documentation/Pf2e.Database/BackgroundTraining.Id.md
new file mode 100644
index 0000000..6ca0841
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundTraining.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining')
+
+## BackgroundTraining\.Id Property
+
+Идентификатор элемента набора связей между предысторией и тренируемым навыком\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundTraining.Rank.md b/Documentation/Pf2e.Database/BackgroundTraining.Rank.md
new file mode 100644
index 0000000..57ea8d6
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundTraining.Rank.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining')
+
+## BackgroundTraining\.Rank Property
+
+Ранг тренировки, который получает персонаж при выборе данной предыстории\.
+
+```csharp
+public Pf2e.Database.Model.Enum.TrainingRank Rank { get; set; }
+```
+
+#### Property Value
+[TrainingRank](TrainingRank.md 'Pf2e\.Database\.Model\.Enum\.TrainingRank')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundTraining.Training.md b/Documentation/Pf2e.Database/BackgroundTraining.Training.md
new file mode 100644
index 0000000..2fceb66
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundTraining.Training.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining')
+
+## BackgroundTraining\.Training Property
+
+Тренируемый навык, который получает персонаж при выборе данной предыстории\.
+
+```csharp
+public Pf2e.Database.Model.Common.Training Training { get; set; }
+```
+
+#### Property Value
+[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundTraining.TrainingId.md b/Documentation/Pf2e.Database/BackgroundTraining.TrainingId.md
new file mode 100644
index 0000000..4d591bf
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundTraining.TrainingId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation').[BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining')
+
+## BackgroundTraining\.TrainingId Property
+
+Идентификатор тренируемого навыка\.
+
+```csharp
+public int TrainingId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/BackgroundTraining.md b/Documentation/Pf2e.Database/BackgroundTraining.md
new file mode 100644
index 0000000..f1cf1a1
--- /dev/null
+++ b/Documentation/Pf2e.Database/BackgroundTraining.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation')
+
+## BackgroundTraining Class
+
+Элемент набора связей между предысторией и тренируемым навыком\.
+
+```csharp
+public class BackgroundTraining
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 BackgroundTraining
+
+| Properties | |
+| :--- | :--- |
+| [Background](BackgroundTraining.Background.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining\.Background') | Предыстория, к которой относится тренировка\. |
+| [BackgroundId](BackgroundTraining.BackgroundId.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining\.BackgroundId') | Идентификатор предыстории, к которой относится тренировка\. |
+| [Id](BackgroundTraining.Id.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining\.Id') | Идентификатор элемента набора связей между предысторией и тренируемым навыком\. |
+| [Rank](BackgroundTraining.Rank.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining\.Rank') | Ранг тренировки, который получает персонаж при выборе данной предыстории\. |
+| [Training](BackgroundTraining.Training.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining\.Training') | Тренируемый навык, который получает персонаж при выборе данной предыстории\. |
+| [TrainingId](BackgroundTraining.TrainingId.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining\.TrainingId') | Идентификатор тренируемого навыка\. |
diff --git a/Documentation/Pf2e.Database/Class.AdditionalTrainedSkills.md b/Documentation/Pf2e.Database/Class.AdditionalTrainedSkills.md
new file mode 100644
index 0000000..c100879
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.AdditionalTrainedSkills.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.AdditionalTrainedSkills Property
+
+Количество дополнительных навыков\.
+
+```csharp
+public int AdditionalTrainedSkills { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.ClassKeyAbilities.md b/Documentation/Pf2e.Database/Class.ClassKeyAbilities.md
new file mode 100644
index 0000000..fa6d57a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.ClassKeyAbilities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.ClassKeyAbilities Property
+
+Аттрибуты класса\.
+
+```csharp
+public virtual System.Collections.Generic.ICollection ClassKeyAbilities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[ClassKeyAttribute](ClassKeyAttribute.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.ClassProgressions.md b/Documentation/Pf2e.Database/Class.ClassProgressions.md
new file mode 100644
index 0000000..9c94adc
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.ClassProgressions.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.ClassProgressions Property
+
+Прогрессия класса\.
+
+```csharp
+public virtual System.Collections.Generic.ICollection ClassProgressions { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.ClassTrainings.md b/Documentation/Pf2e.Database/Class.ClassTrainings.md
new file mode 100644
index 0000000..49af184
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.ClassTrainings.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.ClassTrainings Property
+
+Навыки класса\.
+
+```csharp
+public virtual System.Collections.Generic.ICollection ClassTrainings { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.Entity.md b/Documentation/Pf2e.Database/Class.Entity.md
new file mode 100644
index 0000000..157a7ce
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.Hp.md b/Documentation/Pf2e.Database/Class.Hp.md
new file mode 100644
index 0000000..17eb380
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.Hp.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.Hp Property
+
+Количество очков здоровья\.
+
+```csharp
+public int Hp { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.Id.md b/Documentation/Pf2e.Database/Class.Id.md
new file mode 100644
index 0000000..dd9474b
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.Spellcasting.md b/Documentation/Pf2e.Database/Class.Spellcasting.md
new file mode 100644
index 0000000..7c97301
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.Spellcasting.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.Spellcasting Property
+
+Указание на тип заклинательства\.
+
+```csharp
+public Pf2e.Database.Model.Enum.SpellcastingType Spellcasting { get; set; }
+```
+
+#### Property Value
+[SpellcastingType](SpellcastingType.md 'Pf2e\.Database\.Model\.Enum\.SpellcastingType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.SubclassGroups.md b/Documentation/Pf2e.Database/Class.SubclassGroups.md
new file mode 100644
index 0000000..598a3dd
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.SubclassGroups.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.SubclassGroups Property
+
+Группы подклассов\.
+
+```csharp
+public virtual System.Collections.Generic.ICollection SubclassGroups { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.Tradition.md b/Documentation/Pf2e.Database/Class.Tradition.md
new file mode 100644
index 0000000..b4554ec
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.Tradition.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+
+## Class\.Tradition Property
+
+Традиция заклинаний класса\.
+
+```csharp
+public System.Nullable Tradition { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[SpellTradition](SpellTradition.md 'Pf2e\.Database\.Model\.Enum\.SpellTradition')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Class.md b/Documentation/Pf2e.Database/Class.md
new file mode 100644
index 0000000..4d830bc
--- /dev/null
+++ b/Documentation/Pf2e.Database/Class.md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Class Class
+
+Класс\.
+
+```csharp
+public class Class : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Class
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [AdditionalTrainedSkills](Class.AdditionalTrainedSkills.md 'Pf2e\.Database\.Model\.Structure\.Class\.AdditionalTrainedSkills') | Количество дополнительных навыков\. |
+| [ClassKeyAbilities](Class.ClassKeyAbilities.md 'Pf2e\.Database\.Model\.Structure\.Class\.ClassKeyAbilities') | Аттрибуты класса\. |
+| [ClassProgressions](Class.ClassProgressions.md 'Pf2e\.Database\.Model\.Structure\.Class\.ClassProgressions') | Прогрессия класса\. |
+| [ClassTrainings](Class.ClassTrainings.md 'Pf2e\.Database\.Model\.Structure\.Class\.ClassTrainings') | Навыки класса\. |
+| [Entity](Class.Entity.md 'Pf2e\.Database\.Model\.Structure\.Class\.Entity') | Корневая сущность\. |
+| [Hp](Class.Hp.md 'Pf2e\.Database\.Model\.Structure\.Class\.Hp') | Количество очков здоровья\. |
+| [Id](Class.Id.md 'Pf2e\.Database\.Model\.Structure\.Class\.Id') | Идентификатор сущности\. |
+| [Spellcasting](Class.Spellcasting.md 'Pf2e\.Database\.Model\.Structure\.Class\.Spellcasting') | Указание на тип заклинательства\. |
+| [SubclassGroups](Class.SubclassGroups.md 'Pf2e\.Database\.Model\.Structure\.Class\.SubclassGroups') | Группы подклассов\. |
+| [Tradition](Class.Tradition.md 'Pf2e\.Database\.Model\.Structure\.Class\.Tradition') | Традиция заклинаний класса\. |
diff --git a/Documentation/Pf2e.Database/ClassKeyAttribute.Class.md b/Documentation/Pf2e.Database/ClassKeyAttribute.Class.md
new file mode 100644
index 0000000..418b377
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassKeyAttribute.Class.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassKeyAttribute](ClassKeyAttribute.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute')
+
+## ClassKeyAttribute\.Class Property
+
+Класс, к которому относится ключевой атрибут\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Class Class { get; set; }
+```
+
+#### Property Value
+[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassKeyAttribute.ClassId.md b/Documentation/Pf2e.Database/ClassKeyAttribute.ClassId.md
new file mode 100644
index 0000000..e975619
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassKeyAttribute.ClassId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassKeyAttribute](ClassKeyAttribute.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute')
+
+## ClassKeyAttribute\.ClassId Property
+
+Идентификатор класса, к которому относится ключевой атрибут\.
+
+```csharp
+public int ClassId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassKeyAttribute.Id.md b/Documentation/Pf2e.Database/ClassKeyAttribute.Id.md
new file mode 100644
index 0000000..09b545e
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassKeyAttribute.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassKeyAttribute](ClassKeyAttribute.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute')
+
+## ClassKeyAttribute\.Id Property
+
+Идентификатор ключевого атрибута класса\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassKeyAttribute.Value.md b/Documentation/Pf2e.Database/ClassKeyAttribute.Value.md
new file mode 100644
index 0000000..eb9cb6e
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassKeyAttribute.Value.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassKeyAttribute](ClassKeyAttribute.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute')
+
+## ClassKeyAttribute\.Value Property
+
+Ключевой атрибут класса\.
+
+```csharp
+public Pf2e.Database.Model.Enum.AttributeValues Value { get; set; }
+```
+
+#### Property Value
+[AttributeValues](AttributeValues.md 'Pf2e\.Database\.Model\.Enum\.AttributeValues')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassKeyAttribute.md b/Documentation/Pf2e.Database/ClassKeyAttribute.md
new file mode 100644
index 0000000..a704935
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassKeyAttribute.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation')
+
+## ClassKeyAttribute Class
+
+Набор ключевых атрибутов класса\.
+
+```csharp
+public class ClassKeyAttribute
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ClassKeyAttribute
+
+| Properties | |
+| :--- | :--- |
+| [Class](ClassKeyAttribute.Class.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute\.Class') | Класс, к которому относится ключевой атрибут\. |
+| [ClassId](ClassKeyAttribute.ClassId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute\.ClassId') | Идентификатор класса, к которому относится ключевой атрибут\. |
+| [Id](ClassKeyAttribute.Id.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute\.Id') | Идентификатор ключевого атрибута класса\. |
+| [Value](ClassKeyAttribute.Value.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute\.Value') | Ключевой атрибут класса\. |
diff --git a/Documentation/Pf2e.Database/ClassProgression.Class.md b/Documentation/Pf2e.Database/ClassProgression.Class.md
new file mode 100644
index 0000000..d35db97
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.Class.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')
+
+## ClassProgression\.Class Property
+
+Класс, к которому относится элемент прогрессии\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Class Class { get; set; }
+```
+
+#### Property Value
+[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassProgression.ClassId.md b/Documentation/Pf2e.Database/ClassProgression.ClassId.md
new file mode 100644
index 0000000..a5ee15a
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.ClassId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')
+
+## ClassProgression\.ClassId Property
+
+Идентификатор класса, к которому относится элемент прогрессии\.
+
+```csharp
+public int ClassId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassProgression.Entity.md b/Documentation/Pf2e.Database/ClassProgression.Entity.md
new file mode 100644
index 0000000..90a02a9
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')
+
+## ClassProgression\.Entity Property
+
+Сущность, связанная с элементом прогрессии класса \(например, навык, атрибут и т\.д\.\)\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity? Entity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassProgression.EntityId.md b/Documentation/Pf2e.Database/ClassProgression.EntityId.md
new file mode 100644
index 0000000..f0cd5b4
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.EntityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')
+
+## ClassProgression\.EntityId Property
+
+Идентификатор сущности, связанной с элементом прогрессии класса \(например, навык, атрибут и т\.д\.\)\.
+
+```csharp
+public System.Nullable EntityId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassProgression.Id.md b/Documentation/Pf2e.Database/ClassProgression.Id.md
new file mode 100644
index 0000000..e400583
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')
+
+## ClassProgression\.Id Property
+
+Идентификатор прогрессии класса\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassProgression.Level.md b/Documentation/Pf2e.Database/ClassProgression.Level.md
new file mode 100644
index 0000000..82ce8e6
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')
+
+## ClassProgression\.Level Property
+
+Уровень класса, на котором элемент прогрессии доступен\.
+
+```csharp
+public int Level { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassProgression.Type.md b/Documentation/Pf2e.Database/ClassProgression.Type.md
new file mode 100644
index 0000000..fbe0aea
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression')
+
+## ClassProgression\.Type Property
+
+Тип элемента прогрессии класса\.
+
+```csharp
+public Pf2e.Database.Model.Enum.ClassProgressionType Type { get; set; }
+```
+
+#### Property Value
+[ClassProgressionType](ClassProgressionType.md 'Pf2e\.Database\.Model\.Enum\.ClassProgressionType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassProgression.md b/Documentation/Pf2e.Database/ClassProgression.md
new file mode 100644
index 0000000..abb6925
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgression.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation')
+
+## ClassProgression Class
+
+Элемент прогрессии класса\.
+
+```csharp
+public class ClassProgression
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ClassProgression
+
+| Properties | |
+| :--- | :--- |
+| [Class](ClassProgression.Class.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression\.Class') | Класс, к которому относится элемент прогрессии\. |
+| [ClassId](ClassProgression.ClassId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression\.ClassId') | Идентификатор класса, к которому относится элемент прогрессии\. |
+| [Entity](ClassProgression.Entity.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression\.Entity') | Сущность, связанная с элементом прогрессии класса \(например, навык, атрибут и т\.д\.\)\. |
+| [EntityId](ClassProgression.EntityId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression\.EntityId') | Идентификатор сущности, связанной с элементом прогрессии класса \(например, навык, атрибут и т\.д\.\)\. |
+| [Id](ClassProgression.Id.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression\.Id') | Идентификатор прогрессии класса\. |
+| [Level](ClassProgression.Level.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression\.Level') | Уровень класса, на котором элемент прогрессии доступен\. |
+| [Type](ClassProgression.Type.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression\.Type') | Тип элемента прогрессии класса\. |
diff --git a/Documentation/Pf2e.Database/ClassProgressionType.md b/Documentation/Pf2e.Database/ClassProgressionType.md
new file mode 100644
index 0000000..f5066a3
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassProgressionType.md
@@ -0,0 +1,53 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## ClassProgressionType Enum
+
+Тип элемента прогрессии класса\.
+
+```csharp
+public enum ClassProgressionType
+```
+### Fields
+
+
+
+`Entity` 0
+
+Неизвестный тип прогрессии класса\.
+
+
+
+`AncestryFeat` 1
+
+Навык архетипа\.
+
+
+
+`ClassFeat` 2
+
+Классовая особенность\.
+
+
+
+`GeneralFeat` 3
+
+Общий навык\.
+
+
+
+`SkillFeat` 4
+
+Навык
+
+
+
+`SkillIncrease` 5
+
+Увеличение навыка\.
+
+
+
+`AttributeIncrease` 6
+
+Увеличение атрибута\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassTraining.Class.md b/Documentation/Pf2e.Database/ClassTraining.Class.md
new file mode 100644
index 0000000..6edf501
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassTraining.Class.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')
+
+## ClassTraining\.Class Property
+
+Класс, к которому относится тренировка\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Class Class { get; set; }
+```
+
+#### Property Value
+[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassTraining.ClassId.md b/Documentation/Pf2e.Database/ClassTraining.ClassId.md
new file mode 100644
index 0000000..262bb30
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassTraining.ClassId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')
+
+## ClassTraining\.ClassId Property
+
+Идентификатор класса, к которому относится тренировка\.
+
+```csharp
+public int ClassId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassTraining.Id.md b/Documentation/Pf2e.Database/ClassTraining.Id.md
new file mode 100644
index 0000000..d753184
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassTraining.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')
+
+## ClassTraining\.Id Property
+
+Идентификатор набора элементов, связывающий класс и тренируемый навык\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassTraining.Rank.md b/Documentation/Pf2e.Database/ClassTraining.Rank.md
new file mode 100644
index 0000000..c16b62c
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassTraining.Rank.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')
+
+## ClassTraining\.Rank Property
+
+Ранг тренировки, определяющий уровень владения навыком\.
+
+```csharp
+public Pf2e.Database.Model.Enum.TrainingRank Rank { get; set; }
+```
+
+#### Property Value
+[TrainingRank](TrainingRank.md 'Pf2e\.Database\.Model\.Enum\.TrainingRank')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassTraining.Training.md b/Documentation/Pf2e.Database/ClassTraining.Training.md
new file mode 100644
index 0000000..b45c4c3
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassTraining.Training.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')
+
+## ClassTraining\.Training Property
+
+Тренируемый навык, к которому относится тренировка\.
+
+```csharp
+public Pf2e.Database.Model.Common.Training? Training { get; set; }
+```
+
+#### Property Value
+[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassTraining.TrainingId.md b/Documentation/Pf2e.Database/ClassTraining.TrainingId.md
new file mode 100644
index 0000000..8aa7156
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassTraining.TrainingId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')
+
+## ClassTraining\.TrainingId Property
+
+Идентификатор тренируемого навыка, к которому относится тренировка\.
+
+```csharp
+public System.Nullable TrainingId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ClassTraining.md b/Documentation/Pf2e.Database/ClassTraining.md
new file mode 100644
index 0000000..654208f
--- /dev/null
+++ b/Documentation/Pf2e.Database/ClassTraining.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation')
+
+## ClassTraining Class
+
+Набор элементов, связывающий класс и тренируемый навык\.
+
+```csharp
+public class ClassTraining
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ClassTraining
+
+| Properties | |
+| :--- | :--- |
+| [Class](ClassTraining.Class.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining\.Class') | Класс, к которому относится тренировка\. |
+| [ClassId](ClassTraining.ClassId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining\.ClassId') | Идентификатор класса, к которому относится тренировка\. |
+| [Id](ClassTraining.Id.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining\.Id') | Идентификатор набора элементов, связывающий класс и тренируемый навык\. |
+| [Rank](ClassTraining.Rank.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining\.Rank') | Ранг тренировки, определяющий уровень владения навыком\. |
+| [Training](ClassTraining.Training.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining\.Training') | Тренируемый навык, к которому относится тренировка\. |
+| [TrainingId](ClassTraining.TrainingId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining\.TrainingId') | Идентификатор тренируемого навыка, к которому относится тренировка\. |
diff --git a/Documentation/Pf2e.Database/Condition.Entity.md b/Documentation/Pf2e.Database/Condition.Entity.md
new file mode 100644
index 0000000..6f6143e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Condition.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Condition](Condition.md 'Pf2e\.Database\.Model\.Structure\.Condition')
+
+## Condition\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Condition.Extra.md b/Documentation/Pf2e.Database/Condition.Extra.md
new file mode 100644
index 0000000..07e5f86
--- /dev/null
+++ b/Documentation/Pf2e.Database/Condition.Extra.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Condition](Condition.md 'Pf2e\.Database\.Model\.Structure\.Condition')
+
+## Condition\.Extra Property
+
+Дополнительная информация\.
+
+```csharp
+public string? Extra { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Condition.Group.md b/Documentation/Pf2e.Database/Condition.Group.md
new file mode 100644
index 0000000..a59f8e9
--- /dev/null
+++ b/Documentation/Pf2e.Database/Condition.Group.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Condition](Condition.md 'Pf2e\.Database\.Model\.Structure\.Condition')
+
+## Condition\.Group Property
+
+Группа состояния\.
+
+```csharp
+public System.Nullable Group { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[ConditionGroup](ConditionGroup.md 'Pf2e\.Database\.Model\.Enum\.ConditionGroup')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Condition.Id.md b/Documentation/Pf2e.Database/Condition.Id.md
new file mode 100644
index 0000000..f515395
--- /dev/null
+++ b/Documentation/Pf2e.Database/Condition.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Condition](Condition.md 'Pf2e\.Database\.Model\.Structure\.Condition')
+
+## Condition\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Condition.md b/Documentation/Pf2e.Database/Condition.md
new file mode 100644
index 0000000..118463e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Condition.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Condition Class
+
+Состояние\.
+
+```csharp
+public class Condition : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Condition
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Entity](Condition.Entity.md 'Pf2e\.Database\.Model\.Structure\.Condition\.Entity') | Корневая сущность\. |
+| [Extra](Condition.Extra.md 'Pf2e\.Database\.Model\.Structure\.Condition\.Extra') | Дополнительная информация\. |
+| [Group](Condition.Group.md 'Pf2e\.Database\.Model\.Structure\.Condition\.Group') | Группа состояния\. |
+| [Id](Condition.Id.md 'Pf2e\.Database\.Model\.Structure\.Condition\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/ConditionGroup.md b/Documentation/Pf2e.Database/ConditionGroup.md
new file mode 100644
index 0000000..b66a70b
--- /dev/null
+++ b/Documentation/Pf2e.Database/ConditionGroup.md
@@ -0,0 +1,47 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## ConditionGroup Enum
+
+Тип состояния
+
+```csharp
+public enum ConditionGroup
+```
+### Fields
+
+
+
+`Unknown` 0
+
+Неизвестое состояние\.
+
+
+
+`Senses` 1
+
+Чувство\.
+
+
+
+`Abilities` 2
+
+Способность\.
+
+
+
+`Death` 3
+
+Смерть\.
+
+
+
+`Attitudes` 4
+
+Отношение\. \(???\)
+
+
+
+`Detection` 5
+
+Обнаружение\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Anathema.md b/Documentation/Pf2e.Database/Deity.Anathema.md
new file mode 100644
index 0000000..3f7f842
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Anathema.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Anathema Property
+
+Анафемы божества\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString Anathema { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.AreaOfConcern.md b/Documentation/Pf2e.Database/Deity.AreaOfConcern.md
new file mode 100644
index 0000000..6b53606
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.AreaOfConcern.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.AreaOfConcern Property
+
+Область покровительства божества\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString AreaOfConcern { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Category.md b/Documentation/Pf2e.Database/Deity.Category.md
new file mode 100644
index 0000000..34b1df9
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Category.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Category Property
+
+Категория божества\.
+
+```csharp
+public string Category { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.CategoryEntity.md b/Documentation/Pf2e.Database/Deity.CategoryEntity.md
new file mode 100644
index 0000000..08dc5a7
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.CategoryEntity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.CategoryEntity Property
+
+Категория божества \(связь\)\.
+
+```csharp
+public Pf2e.Database.Model.Structure.DeityCategory? CategoryEntity { get; set; }
+```
+
+#### Property Value
+[DeityCategory](DeityCategory.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.CategoryId.md b/Documentation/Pf2e.Database/Deity.CategoryId.md
new file mode 100644
index 0000000..d7c0da7
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.CategoryId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.CategoryId Property
+
+Идентификатор категории божества\.
+
+```csharp
+public System.Nullable CategoryId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.DeityAttributes.md b/Documentation/Pf2e.Database/Deity.DeityAttributes.md
new file mode 100644
index 0000000..b67781a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.DeityAttributes.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.DeityAttributes Property
+
+Атрибуты божества\.
+
+```csharp
+public System.Collections.Generic.ICollection DeityAttributes { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[DeityAttribute](DeityAttribute.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.DeityDomains.md b/Documentation/Pf2e.Database/Deity.DeityDomains.md
new file mode 100644
index 0000000..cabe7db
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.DeityDomains.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.DeityDomains Property
+
+Домены божества\.
+
+```csharp
+public System.Collections.Generic.ICollection DeityDomains { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.DeitySpells.md b/Documentation/Pf2e.Database/Deity.DeitySpells.md
new file mode 100644
index 0000000..39adf8c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.DeitySpells.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.DeitySpells Property
+
+Заклинания божества\.
+
+```csharp
+public System.Collections.Generic.ICollection DeitySpells { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.DeityWeapons.md b/Documentation/Pf2e.Database/Deity.DeityWeapons.md
new file mode 100644
index 0000000..c49ceab
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.DeityWeapons.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.DeityWeapons Property
+
+Оружия божества\.
+
+```csharp
+public System.Collections.Generic.ICollection DeityWeapons { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[DeityWeapon](DeityWeapon.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Edicts.md b/Documentation/Pf2e.Database/Deity.Edicts.md
new file mode 100644
index 0000000..0eddb43
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Edicts.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Edicts Property
+
+Заветы божества\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString Edicts { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Entity.md b/Documentation/Pf2e.Database/Deity.Entity.md
new file mode 100644
index 0000000..b7849be
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Fonts.md b/Documentation/Pf2e.Database/Deity.Fonts.md
new file mode 100644
index 0000000..e6c0e6a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Fonts.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Fonts Property
+
+Тип божественный силы\.
+
+```csharp
+public Pf2e.Database.Model.Enum.DeityFonts Fonts { get; set; }
+```
+
+#### Property Value
+[DeityFonts](DeityFonts.md 'Pf2e\.Database\.Model\.Enum\.DeityFonts')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Id.md b/Documentation/Pf2e.Database/Deity.Id.md
new file mode 100644
index 0000000..a0a095d
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.ReligiousSymbol.md b/Documentation/Pf2e.Database/Deity.ReligiousSymbol.md
new file mode 100644
index 0000000..0421c70
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.ReligiousSymbol.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.ReligiousSymbol Property
+
+Религиозный символ божества\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString ReligiousSymbol { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.SacredAnimal.md b/Documentation/Pf2e.Database/Deity.SacredAnimal.md
new file mode 100644
index 0000000..5d46d92
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.SacredAnimal.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.SacredAnimal Property
+
+Священное животное божества\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString SacredAnimal { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Sanctification.md b/Documentation/Pf2e.Database/Deity.Sanctification.md
new file mode 100644
index 0000000..9ba1d8a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Sanctification.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Sanctification Property
+
+Тип освящения\.
+
+```csharp
+public Pf2e.Database.Model.Enum.DeitySanctification Sanctification { get; set; }
+```
+
+#### Property Value
+[DeitySanctification](DeitySanctification.md 'Pf2e\.Database\.Model\.Enum\.DeitySanctification')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.SanctificationMust.md b/Documentation/Pf2e.Database/Deity.SanctificationMust.md
new file mode 100644
index 0000000..f01c968
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.SanctificationMust.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.SanctificationMust Property
+
+Обязательное освящение\.
+
+```csharp
+public bool SanctificationMust { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Skills.md b/Documentation/Pf2e.Database/Deity.Skills.md
new file mode 100644
index 0000000..6b768a3
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Skills.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Skills Property
+
+Навыки божества\.
+
+```csharp
+public System.Collections.Generic.ICollection Skills { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.Type.md b/Documentation/Pf2e.Database/Deity.Type.md
new file mode 100644
index 0000000..e0c4ba0
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+
+## Deity\.Type Property
+
+Тип божества\.
+
+```csharp
+public Pf2e.Database.Model.Enum.DeityType Type { get; set; }
+```
+
+#### Property Value
+[DeityType](DeityType.md 'Pf2e\.Database\.Model\.Enum\.DeityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Deity.md b/Documentation/Pf2e.Database/Deity.md
new file mode 100644
index 0000000..225b904
--- /dev/null
+++ b/Documentation/Pf2e.Database/Deity.md
@@ -0,0 +1,36 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Deity Class
+
+Божество\.
+
+```csharp
+public class Deity : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Deity
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Anathema](Deity.Anathema.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Anathema') | Анафемы божества\. |
+| [AreaOfConcern](Deity.AreaOfConcern.md 'Pf2e\.Database\.Model\.Structure\.Deity\.AreaOfConcern') | Область покровительства божества\. |
+| [Category](Deity.Category.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Category') | Категория божества\. |
+| [CategoryEntity](Deity.CategoryEntity.md 'Pf2e\.Database\.Model\.Structure\.Deity\.CategoryEntity') | Категория божества \(связь\)\. |
+| [CategoryId](Deity.CategoryId.md 'Pf2e\.Database\.Model\.Structure\.Deity\.CategoryId') | Идентификатор категории божества\. |
+| [DeityAttributes](Deity.DeityAttributes.md 'Pf2e\.Database\.Model\.Structure\.Deity\.DeityAttributes') | Атрибуты божества\. |
+| [DeityDomains](Deity.DeityDomains.md 'Pf2e\.Database\.Model\.Structure\.Deity\.DeityDomains') | Домены божества\. |
+| [DeitySpells](Deity.DeitySpells.md 'Pf2e\.Database\.Model\.Structure\.Deity\.DeitySpells') | Заклинания божества\. |
+| [DeityWeapons](Deity.DeityWeapons.md 'Pf2e\.Database\.Model\.Structure\.Deity\.DeityWeapons') | Оружия божества\. |
+| [Edicts](Deity.Edicts.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Edicts') | Заветы божества\. |
+| [Entity](Deity.Entity.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Entity') | Корневая сущность\. |
+| [Fonts](Deity.Fonts.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Fonts') | Тип божественный силы\. |
+| [Id](Deity.Id.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Id') | Идентификатор сущности\. |
+| [ReligiousSymbol](Deity.ReligiousSymbol.md 'Pf2e\.Database\.Model\.Structure\.Deity\.ReligiousSymbol') | Религиозный символ божества\. |
+| [SacredAnimal](Deity.SacredAnimal.md 'Pf2e\.Database\.Model\.Structure\.Deity\.SacredAnimal') | Священное животное божества\. |
+| [Sanctification](Deity.Sanctification.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Sanctification') | Тип освящения\. |
+| [SanctificationMust](Deity.SanctificationMust.md 'Pf2e\.Database\.Model\.Structure\.Deity\.SanctificationMust') | Обязательное освящение\. |
+| [Skills](Deity.Skills.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Skills') | Навыки божества\. |
+| [Type](Deity.Type.md 'Pf2e\.Database\.Model\.Structure\.Deity\.Type') | Тип божества\. |
diff --git a/Documentation/Pf2e.Database/DeityAttribute.Attribute.md b/Documentation/Pf2e.Database/DeityAttribute.Attribute.md
new file mode 100644
index 0000000..c9c1014
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityAttribute.Attribute.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityAttribute](DeityAttribute.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute')
+
+## DeityAttribute\.Attribute Property
+
+Атрибут божества\.
+
+```csharp
+public Pf2e.Database.Model.Enum.AttributeValues Attribute { get; set; }
+```
+
+#### Property Value
+[AttributeValues](AttributeValues.md 'Pf2e\.Database\.Model\.Enum\.AttributeValues')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityAttribute.Deity.md b/Documentation/Pf2e.Database/DeityAttribute.Deity.md
new file mode 100644
index 0000000..fa3ebd9
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityAttribute.Deity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityAttribute](DeityAttribute.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute')
+
+## DeityAttribute\.Deity Property
+
+Божество, к которому относится атрибут\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Deity Deity { get; set; }
+```
+
+#### Property Value
+[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityAttribute.DeityId.md b/Documentation/Pf2e.Database/DeityAttribute.DeityId.md
new file mode 100644
index 0000000..8d55e20
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityAttribute.DeityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityAttribute](DeityAttribute.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute')
+
+## DeityAttribute\.DeityId Property
+
+Идентификатор божества\.
+
+```csharp
+public int DeityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityAttribute.Id.md b/Documentation/Pf2e.Database/DeityAttribute.Id.md
new file mode 100644
index 0000000..8f03925
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityAttribute.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityAttribute](DeityAttribute.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute')
+
+## DeityAttribute\.Id Property
+
+Идентификатор\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityAttribute.md b/Documentation/Pf2e.Database/DeityAttribute.md
new file mode 100644
index 0000000..83ea7be
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityAttribute.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation')
+
+## DeityAttribute Class
+
+Элемент отношения божества и атрибута\.
+
+```csharp
+public class DeityAttribute
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 DeityAttribute
+
+| Properties | |
+| :--- | :--- |
+| [Attribute](DeityAttribute.Attribute.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute\.Attribute') | Атрибут божества\. |
+| [Deity](DeityAttribute.Deity.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute\.Deity') | Божество, к которому относится атрибут\. |
+| [DeityId](DeityAttribute.DeityId.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute\.DeityId') | Идентификатор божества\. |
+| [Id](DeityAttribute.Id.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute\.Id') | Идентификатор\. |
diff --git a/Documentation/Pf2e.Database/DeityCategory.Description.md b/Documentation/Pf2e.Database/DeityCategory.Description.md
new file mode 100644
index 0000000..0c55376
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityCategory.Description.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[DeityCategory](DeityCategory.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory')
+
+## DeityCategory\.Description Property
+
+Описание категории\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString Description { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityCategory.Entity.md b/Documentation/Pf2e.Database/DeityCategory.Entity.md
new file mode 100644
index 0000000..c9e4dda
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityCategory.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[DeityCategory](DeityCategory.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory')
+
+## DeityCategory\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityCategory.Id.md b/Documentation/Pf2e.Database/DeityCategory.Id.md
new file mode 100644
index 0000000..958e4c6
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityCategory.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[DeityCategory](DeityCategory.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory')
+
+## DeityCategory\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityCategory.md b/Documentation/Pf2e.Database/DeityCategory.md
new file mode 100644
index 0000000..a16913f
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityCategory.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## DeityCategory Class
+
+Категория божества\.
+
+```csharp
+public class DeityCategory : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 DeityCategory
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Description](DeityCategory.Description.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory\.Description') | Описание категории\. |
+| [Entity](DeityCategory.Entity.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory\.Entity') | Корневая сущность\. |
+| [Id](DeityCategory.Id.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/DeityDomain.Deity.md b/Documentation/Pf2e.Database/DeityDomain.Deity.md
new file mode 100644
index 0000000..6ce602c
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.Deity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')
+
+## DeityDomain\.Deity Property
+
+Божество, к которому относится домен\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Deity Deity { get; set; }
+```
+
+#### Property Value
+[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityDomain.DeityId.md b/Documentation/Pf2e.Database/DeityDomain.DeityId.md
new file mode 100644
index 0000000..35f37c5
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.DeityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')
+
+## DeityDomain\.DeityId Property
+
+Идентификатор божества, к которому относится домен\.
+
+```csharp
+public int DeityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityDomain.Domain.md b/Documentation/Pf2e.Database/DeityDomain.Domain.md
new file mode 100644
index 0000000..c12115d
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.Domain.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')
+
+## DeityDomain\.Domain Property
+
+Домен, связанный с божеством\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Domain Domain { get; set; }
+```
+
+#### Property Value
+[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityDomain.DomainId.md b/Documentation/Pf2e.Database/DeityDomain.DomainId.md
new file mode 100644
index 0000000..8f9fb07
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.DomainId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')
+
+## DeityDomain\.DomainId Property
+
+Идентификатор домена\.
+
+```csharp
+public int DomainId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityDomain.Id.md b/Documentation/Pf2e.Database/DeityDomain.Id.md
new file mode 100644
index 0000000..62e031e
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')
+
+## DeityDomain\.Id Property
+
+Идентификатор отношения божества и домена\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityDomain.IsPrimary.md b/Documentation/Pf2e.Database/DeityDomain.IsPrimary.md
new file mode 100644
index 0000000..71018d3
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.IsPrimary.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')
+
+## DeityDomain\.IsPrimary Property
+
+Флаг, указывающий, является ли домен основным для божества\.
+
+```csharp
+public bool IsPrimary { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityDomain.Value.md b/Documentation/Pf2e.Database/DeityDomain.Value.md
new file mode 100644
index 0000000..cc8a75e
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.Value.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')
+
+## DeityDomain\.Value Property
+
+Значение домена божества, например, "Свет", "Тьма" и т\.д\.
+
+```csharp
+public string Value { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityDomain.md b/Documentation/Pf2e.Database/DeityDomain.md
new file mode 100644
index 0000000..74512c8
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityDomain.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation')
+
+## DeityDomain Class
+
+Элемент отношения божества и домена\.
+
+```csharp
+public class DeityDomain
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 DeityDomain
+
+| Properties | |
+| :--- | :--- |
+| [Deity](DeityDomain.Deity.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain\.Deity') | Божество, к которому относится домен\. |
+| [DeityId](DeityDomain.DeityId.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain\.DeityId') | Идентификатор божества, к которому относится домен\. |
+| [Domain](DeityDomain.Domain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain\.Domain') | Домен, связанный с божеством\. |
+| [DomainId](DeityDomain.DomainId.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain\.DomainId') | Идентификатор домена\. |
+| [Id](DeityDomain.Id.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain\.Id') | Идентификатор отношения божества и домена\. |
+| [IsPrimary](DeityDomain.IsPrimary.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain\.IsPrimary') | Флаг, указывающий, является ли домен основным для божества\. |
+| [Value](DeityDomain.Value.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain\.Value') | Значение домена божества, например, "Свет", "Тьма" и т\.д\. |
diff --git a/Documentation/Pf2e.Database/DeityFonts.md b/Documentation/Pf2e.Database/DeityFonts.md
new file mode 100644
index 0000000..bc5b9b6
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityFonts.md
@@ -0,0 +1,35 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## DeityFonts Enum
+
+Тип божественной силы\.
+
+```csharp
+public enum DeityFonts
+```
+### Fields
+
+
+
+`None` 0
+
+Без божественной силы\.
+
+
+
+`Heal` 1
+
+Исцеление\.
+
+
+
+`Harm` 2
+
+Урон\.
+
+
+
+`Any` 3
+
+Любой тип божественной силы\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySanctification.md b/Documentation/Pf2e.Database/DeitySanctification.md
new file mode 100644
index 0000000..d9d94b5
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySanctification.md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## DeitySanctification Enum
+
+Тип освящения божества\.
+
+```csharp
+public enum DeitySanctification
+```
+### Fields
+
+
+
+`Holy` 0
+
+Святость\.
+
+
+
+`Unholy` 1
+
+Нечестивость\.
+
+
+
+`Any` 2
+
+Любое\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySpell.Deity.md b/Documentation/Pf2e.Database/DeitySpell.Deity.md
new file mode 100644
index 0000000..759047f
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySpell.Deity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell')
+
+## DeitySpell\.Deity Property
+
+Божество, к которому относится заклинание\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Deity Deity { get; set; }
+```
+
+#### Property Value
+[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySpell.DeityId.md b/Documentation/Pf2e.Database/DeitySpell.DeityId.md
new file mode 100644
index 0000000..8dd98dd
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySpell.DeityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell')
+
+## DeitySpell\.DeityId Property
+
+Идентификатор божества, к которому относится заклинание\.
+
+```csharp
+public int DeityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySpell.Id.md b/Documentation/Pf2e.Database/DeitySpell.Id.md
new file mode 100644
index 0000000..aacaeeb
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySpell.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell')
+
+## DeitySpell\.Id Property
+
+Идентификатор связи божества и заклинания\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySpell.Level.md b/Documentation/Pf2e.Database/DeitySpell.Level.md
new file mode 100644
index 0000000..db6d457
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySpell.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell')
+
+## DeitySpell\.Level Property
+
+Уровень заклинания\.
+
+```csharp
+public int Level { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySpell.Spell.md b/Documentation/Pf2e.Database/DeitySpell.Spell.md
new file mode 100644
index 0000000..93c5091
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySpell.Spell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell')
+
+## DeitySpell\.Spell Property
+
+Заклинание, связанное с божеством\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell Spell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySpell.SpellId.md b/Documentation/Pf2e.Database/DeitySpell.SpellId.md
new file mode 100644
index 0000000..68c9664
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySpell.SpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell')
+
+## DeitySpell\.SpellId Property
+
+Идентификатор заклинания, связанного с божеством\.
+
+```csharp
+public int SpellId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeitySpell.md b/Documentation/Pf2e.Database/DeitySpell.md
new file mode 100644
index 0000000..0836255
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeitySpell.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation')
+
+## DeitySpell Class
+
+Связь божества и заклинания\.
+
+```csharp
+public class DeitySpell
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 DeitySpell
+
+| Properties | |
+| :--- | :--- |
+| [Deity](DeitySpell.Deity.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell\.Deity') | Божество, к которому относится заклинание\. |
+| [DeityId](DeitySpell.DeityId.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell\.DeityId') | Идентификатор божества, к которому относится заклинание\. |
+| [Id](DeitySpell.Id.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell\.Id') | Идентификатор связи божества и заклинания\. |
+| [Level](DeitySpell.Level.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell\.Level') | Уровень заклинания\. |
+| [Spell](DeitySpell.Spell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell\.Spell') | Заклинание, связанное с божеством\. |
+| [SpellId](DeitySpell.SpellId.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell\.SpellId') | Идентификатор заклинания, связанного с божеством\. |
diff --git a/Documentation/Pf2e.Database/DeityType.md b/Documentation/Pf2e.Database/DeityType.md
new file mode 100644
index 0000000..7eb55d3
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityType.md
@@ -0,0 +1,35 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## DeityType Enum
+
+Тип божества\.
+
+```csharp
+public enum DeityType
+```
+### Fields
+
+
+
+`Deity` 0
+
+Божество\.
+
+
+
+`Pantheon` 1
+
+Пантеон\.
+
+
+
+`Covenant` 2
+
+Ковенант\.
+
+
+
+`Philosophy` 3
+
+Философия\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityWeapon.Deity.md b/Documentation/Pf2e.Database/DeityWeapon.Deity.md
new file mode 100644
index 0000000..a0e0968
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityWeapon.Deity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityWeapon](DeityWeapon.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon')
+
+## DeityWeapon\.Deity Property
+
+Божество, к которому относится оружие\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Deity Deity { get; set; }
+```
+
+#### Property Value
+[Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityWeapon.DeityId.md b/Documentation/Pf2e.Database/DeityWeapon.DeityId.md
new file mode 100644
index 0000000..84ce6f7
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityWeapon.DeityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityWeapon](DeityWeapon.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon')
+
+## DeityWeapon\.DeityId Property
+
+Идентификатор божества, к которому относится оружие\.
+
+```csharp
+public int DeityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityWeapon.Id.md b/Documentation/Pf2e.Database/DeityWeapon.Id.md
new file mode 100644
index 0000000..69aae1a
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityWeapon.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityWeapon](DeityWeapon.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon')
+
+## DeityWeapon\.Id Property
+
+Идентификатор связи божества с оружием\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityWeapon.Weapon.md b/Documentation/Pf2e.Database/DeityWeapon.Weapon.md
new file mode 100644
index 0000000..c1fd26a
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityWeapon.Weapon.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation').[DeityWeapon](DeityWeapon.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon')
+
+## DeityWeapon\.Weapon Property
+
+Название оружия, связанного с божеством\. Будет изменено на идентификатор оружия в будущем, когда будет реализована система оружия\.
+
+```csharp
+public string Weapon { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/DeityWeapon.md b/Documentation/Pf2e.Database/DeityWeapon.md
new file mode 100644
index 0000000..a708baa
--- /dev/null
+++ b/Documentation/Pf2e.Database/DeityWeapon.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation')
+
+## DeityWeapon Class
+
+Связь божества с оружием\.
+
+```csharp
+public class DeityWeapon
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 DeityWeapon
+
+| Properties | |
+| :--- | :--- |
+| [Deity](DeityWeapon.Deity.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon\.Deity') | Божество, к которому относится оружие\. |
+| [DeityId](DeityWeapon.DeityId.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon\.DeityId') | Идентификатор божества, к которому относится оружие\. |
+| [Id](DeityWeapon.Id.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon\.Id') | Идентификатор связи божества с оружием\. |
+| [Weapon](DeityWeapon.Weapon.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon\.Weapon') | Название оружия, связанного с божеством\. Будет изменено на идентификатор оружия в будущем, когда будет реализована система оружия\. |
diff --git a/Documentation/Pf2e.Database/Domain.AdvancedApocryphalSpell.md b/Documentation/Pf2e.Database/Domain.AdvancedApocryphalSpell.md
new file mode 100644
index 0000000..6149afb
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.AdvancedApocryphalSpell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.AdvancedApocryphalSpell Property
+
+Продвинутое апокрифическое заклинание домена\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell? AdvancedApocryphalSpell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.AdvancedApocryphalSpellId.md b/Documentation/Pf2e.Database/Domain.AdvancedApocryphalSpellId.md
new file mode 100644
index 0000000..e0aee81
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.AdvancedApocryphalSpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.AdvancedApocryphalSpellId Property
+
+Идентификатор продвинутого апокрифического заклинания домена\.
+
+```csharp
+public System.Nullable AdvancedApocryphalSpellId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.AdvancedDomainSpell.md b/Documentation/Pf2e.Database/Domain.AdvancedDomainSpell.md
new file mode 100644
index 0000000..a0d75ed
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.AdvancedDomainSpell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.AdvancedDomainSpell Property
+
+Продвинутое заклинание домена\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell AdvancedDomainSpell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.AdvancedDomainSpellId.md b/Documentation/Pf2e.Database/Domain.AdvancedDomainSpellId.md
new file mode 100644
index 0000000..a67f9da
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.AdvancedDomainSpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.AdvancedDomainSpellId Property
+
+Идентификатор продвинутого заклинания домена\.
+
+```csharp
+public int AdvancedDomainSpellId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.ApocryphalSpell.md b/Documentation/Pf2e.Database/Domain.ApocryphalSpell.md
new file mode 100644
index 0000000..57b92a8
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.ApocryphalSpell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.ApocryphalSpell Property
+
+Апокрифическое заклинание домена\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell? ApocryphalSpell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.ApocryphalSpellId.md b/Documentation/Pf2e.Database/Domain.ApocryphalSpellId.md
new file mode 100644
index 0000000..06a58df
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.ApocryphalSpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.ApocryphalSpellId Property
+
+Идентификатор апокрифического заклинания домена\.
+
+```csharp
+public System.Nullable ApocryphalSpellId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.DeityDomains.md b/Documentation/Pf2e.Database/Domain.DeityDomains.md
new file mode 100644
index 0000000..463d60a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.DeityDomains.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.DeityDomains Property
+
+Связи с божествами, которые используют этот домен\.
+
+```csharp
+public virtual System.Collections.Generic.ICollection DeityDomains { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.DomainSpell.md b/Documentation/Pf2e.Database/Domain.DomainSpell.md
new file mode 100644
index 0000000..4172b5c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.DomainSpell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.DomainSpell Property
+
+Заклинание домена\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell DomainSpell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.DomainSpellId.md b/Documentation/Pf2e.Database/Domain.DomainSpellId.md
new file mode 100644
index 0000000..87dcdb3
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.DomainSpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.DomainSpellId Property
+
+Идентификатор заклинания домена\.
+
+```csharp
+public int DomainSpellId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.Entity.md b/Documentation/Pf2e.Database/Domain.Entity.md
new file mode 100644
index 0000000..36ed3f2
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.Id.md b/Documentation/Pf2e.Database/Domain.Id.md
new file mode 100644
index 0000000..aa851c9
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+
+## Domain\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Domain.md b/Documentation/Pf2e.Database/Domain.md
new file mode 100644
index 0000000..feb5337
--- /dev/null
+++ b/Documentation/Pf2e.Database/Domain.md
@@ -0,0 +1,28 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Domain Class
+
+Домен\.
+
+```csharp
+public class Domain : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Domain
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [AdvancedApocryphalSpell](Domain.AdvancedApocryphalSpell.md 'Pf2e\.Database\.Model\.Structure\.Domain\.AdvancedApocryphalSpell') | Продвинутое апокрифическое заклинание домена\. |
+| [AdvancedApocryphalSpellId](Domain.AdvancedApocryphalSpellId.md 'Pf2e\.Database\.Model\.Structure\.Domain\.AdvancedApocryphalSpellId') | Идентификатор продвинутого апокрифического заклинания домена\. |
+| [AdvancedDomainSpell](Domain.AdvancedDomainSpell.md 'Pf2e\.Database\.Model\.Structure\.Domain\.AdvancedDomainSpell') | Продвинутое заклинание домена\. |
+| [AdvancedDomainSpellId](Domain.AdvancedDomainSpellId.md 'Pf2e\.Database\.Model\.Structure\.Domain\.AdvancedDomainSpellId') | Идентификатор продвинутого заклинания домена\. |
+| [ApocryphalSpell](Domain.ApocryphalSpell.md 'Pf2e\.Database\.Model\.Structure\.Domain\.ApocryphalSpell') | Апокрифическое заклинание домена\. |
+| [ApocryphalSpellId](Domain.ApocryphalSpellId.md 'Pf2e\.Database\.Model\.Structure\.Domain\.ApocryphalSpellId') | Идентификатор апокрифического заклинания домена\. |
+| [DeityDomains](Domain.DeityDomains.md 'Pf2e\.Database\.Model\.Structure\.Domain\.DeityDomains') | Связи с божествами, которые используют этот домен\. |
+| [DomainSpell](Domain.DomainSpell.md 'Pf2e\.Database\.Model\.Structure\.Domain\.DomainSpell') | Заклинание домена\. |
+| [DomainSpellId](Domain.DomainSpellId.md 'Pf2e\.Database\.Model\.Structure\.Domain\.DomainSpellId') | Идентификатор заклинания домена\. |
+| [Entity](Domain.Entity.md 'Pf2e\.Database\.Model\.Structure\.Domain\.Entity') | Корневая сущность\. |
+| [Id](Domain.Id.md 'Pf2e\.Database\.Model\.Structure\.Domain\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/EfCleanHelper.GetName(IEntityType,string).md b/Documentation/Pf2e.Database/EfCleanHelper.GetName(IEntityType,string).md
new file mode 100644
index 0000000..bfcc82e
--- /dev/null
+++ b/Documentation/Pf2e.Database/EfCleanHelper.GetName(IEntityType,string).md
@@ -0,0 +1,26 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[EfCleanHelper](EfCleanHelper.md 'Pf2e\.Database\.EfCleanHelper')
+
+## EfCleanHelper\.GetName\(IEntityType, string\) Method
+
+Определение полного названия таблицы по служебному классу\.
+
+```csharp
+private static string GetName(Microsoft.EntityFrameworkCore.Metadata.IEntityType entityType, string defaultSchemaName="public");
+```
+#### Parameters
+
+
+
+`entityType` [Microsoft\.EntityFrameworkCore\.Metadata\.IEntityType](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.Metadata.IEntityType 'Microsoft\.EntityFrameworkCore\.Metadata\.IEntityType')
+
+Служебный класс, определяющий таблицу базы данных\.
+
+
+
+`defaultSchemaName` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Схема таблицы по умолчанию \(`"public"` для PostgresSQL\)
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EfCleanHelper.TableName.md b/Documentation/Pf2e.Database/EfCleanHelper.TableName.md
new file mode 100644
index 0000000..cf235e3
--- /dev/null
+++ b/Documentation/Pf2e.Database/EfCleanHelper.TableName.md
@@ -0,0 +1,67 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[EfCleanHelper](EfCleanHelper.md 'Pf2e\.Database\.EfCleanHelper')
+
+## EfCleanHelper\.TableName Method
+
+| Overloads | |
+| :--- | :--- |
+| [TableName<T>\(DbContext\)](EfCleanHelper.TableName.md#Pf2e.Database.EfCleanHelper.TableName_T_(Microsoft.EntityFrameworkCore.DbContext) 'Pf2e\.Database\.EfCleanHelper\.TableName\\(Microsoft\.EntityFrameworkCore\.DbContext\)') | Определение полного названия таблицы по типу сущности\. |
+| [TableName<T>\(DbSet<T>\)](EfCleanHelper.TableName.md#Pf2e.Database.EfCleanHelper.TableName_T_(Microsoft.EntityFrameworkCore.DbSet_T_) 'Pf2e\.Database\.EfCleanHelper\.TableName\\(Microsoft\.EntityFrameworkCore\.DbSet\\)') | Определение полного названия таблицы по типу сущности\. |
+
+
+
+## EfCleanHelper\.TableName\\(DbContext\) Method
+
+Определение полного названия таблицы по типу сущности\.
+
+```csharp
+public static string TableName(Microsoft.EntityFrameworkCore.DbContext dbContext)
+ where T : class;
+```
+#### Type parameters
+
+
+
+`T`
+
+Тип искомой сущности\.
+#### Parameters
+
+
+
+`dbContext` [Microsoft\.EntityFrameworkCore\.DbContext](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContext 'Microsoft\.EntityFrameworkCore\.DbContext')
+
+Контекст, в котором производится поиск таблицы\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление названия таблицы\.
+
+
+
+## EfCleanHelper\.TableName\\(DbSet\\) Method
+
+Определение полного названия таблицы по типу сущности\.
+
+```csharp
+public static string TableName(Microsoft.EntityFrameworkCore.DbSet dbSet)
+ where T : class;
+```
+#### Type parameters
+
+
+
+`T`
+
+Тип искомой сущности\.
+#### Parameters
+
+
+
+`dbSet` [Microsoft\.EntityFrameworkCore\.DbSet<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1')[T](EfCleanHelper.md#Pf2e.Database.EfCleanHelper.TableName_T_(Microsoft.EntityFrameworkCore.DbSet_T_).T 'Pf2e\.Database\.EfCleanHelper\.TableName\\(Microsoft\.EntityFrameworkCore\.DbSet\\)\.T')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1')
+
+CLR\-представление таблицы, название которой требуется определить\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление названия таблицы\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EfCleanHelper.TruncateAll(thisDbContext).md b/Documentation/Pf2e.Database/EfCleanHelper.TruncateAll(thisDbContext).md
new file mode 100644
index 0000000..166baac
--- /dev/null
+++ b/Documentation/Pf2e.Database/EfCleanHelper.TruncateAll(thisDbContext).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[EfCleanHelper](EfCleanHelper.md 'Pf2e\.Database\.EfCleanHelper')
+
+## EfCleanHelper\.TruncateAll\(this DbContext\) Method
+
+Получение SQL\-команды отчистки содержимого всех таблиц базы данных\.
+
+```csharp
+public static string TruncateAll(this Microsoft.EntityFrameworkCore.DbContext context);
+```
+#### Parameters
+
+
+
+`context` [Microsoft\.EntityFrameworkCore\.DbContext](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContext 'Microsoft\.EntityFrameworkCore\.DbContext')
+
+Контекст базы данных, в которой необходимо отчистить все строки\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление выполненных SQL\-команды\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EfCleanHelper.Truncate_T_(thisDbSet_T_).md b/Documentation/Pf2e.Database/EfCleanHelper.Truncate_T_(thisDbSet_T_).md
new file mode 100644
index 0000000..d26af44
--- /dev/null
+++ b/Documentation/Pf2e.Database/EfCleanHelper.Truncate_T_(thisDbSet_T_).md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[EfCleanHelper](EfCleanHelper.md 'Pf2e\.Database\.EfCleanHelper')
+
+## EfCleanHelper\.Truncate\\(this DbSet\\) Method
+
+Отчистка содержимого таблицы\.
+
+```csharp
+public static string Truncate(this Microsoft.EntityFrameworkCore.DbSet dbSet)
+ where T : class;
+```
+#### Type parameters
+
+
+
+`T`
+
+Тип сущности, таблицу которой необходимо отчистить\.
+#### Parameters
+
+
+
+`dbSet` [Microsoft\.EntityFrameworkCore\.DbSet<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1')[T](EfCleanHelper.Truncate_T_(thisDbSet_T_).md#Pf2e.Database.EfCleanHelper.Truncate_T_(thisMicrosoft.EntityFrameworkCore.DbSet_T_).T 'Pf2e\.Database\.EfCleanHelper\.Truncate\\(this Microsoft\.EntityFrameworkCore\.DbSet\\)\.T')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1')
+
+CLR\-представление таблицы, которую требуется отчистить\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление выполненной SQL\-команды\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EfCleanHelper.md b/Documentation/Pf2e.Database/EfCleanHelper.md
new file mode 100644
index 0000000..cd8f7ae
--- /dev/null
+++ b/Documentation/Pf2e.Database/EfCleanHelper.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database')
+
+## EfCleanHelper Class
+
+Класс, обеспецивающий общий способ для отчистки данных таблиц\.
+
+Источник: https://www\.codeproject\.com/Articles/5339402/Delete\-All\-Rows\-in\-Entity\-Framework\-Core\-6
+
+```csharp
+public static class EfCleanHelper
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 EfCleanHelper
+
+| Methods | |
+| :--- | :--- |
+| [GetName\(IEntityType, string\)](EfCleanHelper.GetName(IEntityType,string).md 'Pf2e\.Database\.EfCleanHelper\.GetName\(Microsoft\.EntityFrameworkCore\.Metadata\.IEntityType, string\)') | Определение полного названия таблицы по служебному классу\. |
+| [TableName<T>\(DbContext\)](EfCleanHelper.TableName.md#Pf2e.Database.EfCleanHelper.TableName_T_(Microsoft.EntityFrameworkCore.DbContext) 'Pf2e\.Database\.EfCleanHelper\.TableName\\(Microsoft\.EntityFrameworkCore\.DbContext\)') | Определение полного названия таблицы по типу сущности\. |
+| [TableName<T>\(DbSet<T>\)](EfCleanHelper.TableName.md#Pf2e.Database.EfCleanHelper.TableName_T_(Microsoft.EntityFrameworkCore.DbSet_T_) 'Pf2e\.Database\.EfCleanHelper\.TableName\\(Microsoft\.EntityFrameworkCore\.DbSet\\)') | Определение полного названия таблицы по типу сущности\. |
+| [Truncate<T>\(this DbSet<T>\)](EfCleanHelper.Truncate_T_(thisDbSet_T_).md 'Pf2e\.Database\.EfCleanHelper\.Truncate\\(this Microsoft\.EntityFrameworkCore\.DbSet\\)') | Отчистка содержимого таблицы\. |
+| [TruncateAll\(this DbContext\)](EfCleanHelper.TruncateAll(thisDbContext).md 'Pf2e\.Database\.EfCleanHelper\.TruncateAll\(this Microsoft\.EntityFrameworkCore\.DbContext\)') | Получение SQL\-команды отчистки содержимого всех таблиц базы данных\. |
diff --git a/Documentation/Pf2e.Database/ElementEnum.md b/Documentation/Pf2e.Database/ElementEnum.md
new file mode 100644
index 0000000..bd7c22d
--- /dev/null
+++ b/Documentation/Pf2e.Database/ElementEnum.md
@@ -0,0 +1,53 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## ElementEnum Enum
+
+Перечисление элементов\.
+
+```csharp
+public enum ElementEnum
+```
+### Fields
+
+
+
+`Universal` 0
+
+Универсальный элемент\.
+
+
+
+`Air` 1
+
+Воздух\.
+
+
+
+`Water` 2
+
+Вода\.
+
+
+
+`Earth` 3
+
+Земля\.
+
+
+
+`Fire` 4
+
+Огонь\.
+
+
+
+`Wood` 5
+
+Дерево\.
+
+
+
+`Metal` 6
+
+Металл\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Aliases.md b/Documentation/Pf2e.Database/Entity.Aliases.md
new file mode 100644
index 0000000..94dc156
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Aliases.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Aliases Property
+
+Коллекция алиасов
+
+```csharp
+public System.Collections.Generic.ICollection Aliases { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[EntityAlias](EntityAlias.md 'Pf2e\.Database\.Model\.Base\.EntityAlias')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Description.md b/Documentation/Pf2e.Database/Entity.Description.md
new file mode 100644
index 0000000..527b4bc
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Description.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Description Property
+
+Текстовое описание сущности\.
+
+```csharp
+public string Description { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Externals.md b/Documentation/Pf2e.Database/Entity.Externals.md
new file mode 100644
index 0000000..0d9372a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Externals.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Externals Property
+
+Коллекция внешних ссылок, связанных с сущностью\.
+
+```csharp
+public System.Collections.Generic.ICollection Externals { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Id.md b/Documentation/Pf2e.Database/Entity.Id.md
new file mode 100644
index 0000000..7f48ea5
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Img.md b/Documentation/Pf2e.Database/Entity.Img.md
new file mode 100644
index 0000000..21f5084
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Img.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Img Property
+
+Изображение сущности\.
+
+```csharp
+public string Img { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.IsChecked.md b/Documentation/Pf2e.Database/Entity.IsChecked.md
new file mode 100644
index 0000000..be2c1c3
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.IsChecked.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.IsChecked Property
+
+Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи\.
+
+```csharp
+public System.Nullable IsChecked { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.IsLegacy.md b/Documentation/Pf2e.Database/Entity.IsLegacy.md
new file mode 100644
index 0000000..a7c2761
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.IsLegacy.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.IsLegacy Property
+
+Флаг, указывающий, что сущность является устаревшей\.
+
+```csharp
+public System.Nullable IsLegacy { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.IsTranslated.md b/Documentation/Pf2e.Database/Entity.IsTranslated.md
new file mode 100644
index 0000000..584fd76
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.IsTranslated.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.IsTranslated Property
+
+Флаг, указывающий, что у объекта существует перевод\.
+
+```csharp
+public System.Nullable IsTranslated { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Keywords.md b/Documentation/Pf2e.Database/Entity.Keywords.md
new file mode 100644
index 0000000..f896ee7
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Keywords.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Keywords Property
+
+Коллекция ключевых слов, связанных с сущностью\.
+
+```csharp
+public System.Collections.Generic.ICollection Keywords { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.LegacyEntities.md b/Documentation/Pf2e.Database/Entity.LegacyEntities.md
new file mode 100644
index 0000000..fd8f08e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.LegacyEntities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.LegacyEntities Property
+
+Коллекция устаревших сущностей\.
+
+```csharp
+public System.Collections.Generic.ICollection LegacyEntities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.LegacyTransferEntities.md b/Documentation/Pf2e.Database/Entity.LegacyTransferEntities.md
new file mode 100644
index 0000000..21c4bc0
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.LegacyTransferEntities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.LegacyTransferEntities Property
+
+Коллекция переходных объектов для устаревших сущностей\.
+
+```csharp
+public System.Collections.Generic.ICollection LegacyTransferEntities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[LegacyRemaster](LegacyRemaster.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Name.md b/Documentation/Pf2e.Database/Entity.Name.md
new file mode 100644
index 0000000..5f9a624
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Name Property
+
+Отображаемое имя сущности\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString Name { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Rarity.md b/Documentation/Pf2e.Database/Entity.Rarity.md
new file mode 100644
index 0000000..716d71f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Rarity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Rarity Property
+
+Редкость сущности\.
+
+```csharp
+public Pf2e.Database.Model.Enum.EntityRarity Rarity { get; set; }
+```
+
+#### Property Value
+[EntityRarity](EntityRarity.md 'Pf2e\.Database\.Model\.Enum\.EntityRarity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.RemasterEntities.md b/Documentation/Pf2e.Database/Entity.RemasterEntities.md
new file mode 100644
index 0000000..fc9f2b4
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.RemasterEntities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.RemasterEntities Property
+
+Коллекция обновлённых сущностей\.
+
+```csharp
+public System.Collections.Generic.ICollection RemasterEntities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.RemasterTransferEntities.md b/Documentation/Pf2e.Database/Entity.RemasterTransferEntities.md
new file mode 100644
index 0000000..8b33223
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.RemasterTransferEntities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.RemasterTransferEntities Property
+
+Коллекция переходных объектов для обновлённых сущностей\.
+
+```csharp
+public System.Collections.Generic.ICollection RemasterTransferEntities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[LegacyRemaster](LegacyRemaster.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Slug.md b/Documentation/Pf2e.Database/Entity.Slug.md
new file mode 100644
index 0000000..cb5e9ae
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Slug.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Slug Property
+
+Часть имени в URL\.
+
+```csharp
+public string Slug { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Sources.md b/Documentation/Pf2e.Database/Entity.Sources.md
new file mode 100644
index 0000000..963ee8f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Sources.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Sources Property
+
+Коллекция источников, связанных с сущностью\.
+
+```csharp
+public System.Collections.Generic.ICollection Sources { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Traits.md b/Documentation/Pf2e.Database/Entity.Traits.md
new file mode 100644
index 0000000..cff1e0f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Traits.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Traits Property
+
+Коллекция признаков, связанных с сущностью\.
+
+```csharp
+public System.Collections.Generic.ICollection Traits { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Trait](Trait.md 'Pf2e\.Database\.Model\.Structure\.Trait')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.Type.md b/Documentation/Pf2e.Database/Entity.Type.md
new file mode 100644
index 0000000..085eec8
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+## Entity\.Type Property
+
+Тип сущности\.
+
+```csharp
+public Pf2e.Database.Model.Enum.EntityType Type { get; set; }
+```
+
+#### Property Value
+[EntityType](EntityType.md 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Entity.md b/Documentation/Pf2e.Database/Entity.md
new file mode 100644
index 0000000..9e0ea7c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Entity.md
@@ -0,0 +1,34 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base')
+
+## Entity Class
+
+Корневая сущность\.
+
+```csharp
+public class Entity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Entity
+
+| Properties | |
+| :--- | :--- |
+| [Aliases](Entity.Aliases.md 'Pf2e\.Database\.Model\.Base\.Entity\.Aliases') | Коллекция алиасов |
+| [Description](Entity.Description.md 'Pf2e\.Database\.Model\.Base\.Entity\.Description') | Текстовое описание сущности\. |
+| [Externals](Entity.Externals.md 'Pf2e\.Database\.Model\.Base\.Entity\.Externals') | Коллекция внешних ссылок, связанных с сущностью\. |
+| [Id](Entity.Id.md 'Pf2e\.Database\.Model\.Base\.Entity\.Id') | Идентификатор сущности\. |
+| [Img](Entity.Img.md 'Pf2e\.Database\.Model\.Base\.Entity\.Img') | Изображение сущности\. |
+| [IsChecked](Entity.IsChecked.md 'Pf2e\.Database\.Model\.Base\.Entity\.IsChecked') | Флаг, указывающий, что объект был проверен и не требует автоматической перезаписи\. |
+| [IsLegacy](Entity.IsLegacy.md 'Pf2e\.Database\.Model\.Base\.Entity\.IsLegacy') | Флаг, указывающий, что сущность является устаревшей\. |
+| [IsTranslated](Entity.IsTranslated.md 'Pf2e\.Database\.Model\.Base\.Entity\.IsTranslated') | Флаг, указывающий, что у объекта существует перевод\. |
+| [Keywords](Entity.Keywords.md 'Pf2e\.Database\.Model\.Base\.Entity\.Keywords') | Коллекция ключевых слов, связанных с сущностью\. |
+| [LegacyEntities](Entity.LegacyEntities.md 'Pf2e\.Database\.Model\.Base\.Entity\.LegacyEntities') | Коллекция устаревших сущностей\. |
+| [LegacyTransferEntities](Entity.LegacyTransferEntities.md 'Pf2e\.Database\.Model\.Base\.Entity\.LegacyTransferEntities') | Коллекция переходных объектов для устаревших сущностей\. |
+| [Name](Entity.Name.md 'Pf2e\.Database\.Model\.Base\.Entity\.Name') | Отображаемое имя сущности\. |
+| [Rarity](Entity.Rarity.md 'Pf2e\.Database\.Model\.Base\.Entity\.Rarity') | Редкость сущности\. |
+| [RemasterEntities](Entity.RemasterEntities.md 'Pf2e\.Database\.Model\.Base\.Entity\.RemasterEntities') | Коллекция обновлённых сущностей\. |
+| [RemasterTransferEntities](Entity.RemasterTransferEntities.md 'Pf2e\.Database\.Model\.Base\.Entity\.RemasterTransferEntities') | Коллекция переходных объектов для обновлённых сущностей\. |
+| [Slug](Entity.Slug.md 'Pf2e\.Database\.Model\.Base\.Entity\.Slug') | Часть имени в URL\. |
+| [Sources](Entity.Sources.md 'Pf2e\.Database\.Model\.Base\.Entity\.Sources') | Коллекция источников, связанных с сущностью\. |
+| [Traits](Entity.Traits.md 'Pf2e\.Database\.Model\.Base\.Entity\.Traits') | Коллекция признаков, связанных с сущностью\. |
+| [Type](Entity.Type.md 'Pf2e\.Database\.Model\.Base\.Entity\.Type') | Тип сущности\. |
diff --git a/Documentation/Pf2e.Database/EntityAlias.Entity.md b/Documentation/Pf2e.Database/EntityAlias.Entity.md
new file mode 100644
index 0000000..10fad2a
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityAlias.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[EntityAlias](EntityAlias.md 'Pf2e\.Database\.Model\.Base\.EntityAlias')
+
+## EntityAlias\.Entity Property
+
+Связанная
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityAlias.EntityId.md b/Documentation/Pf2e.Database/EntityAlias.EntityId.md
new file mode 100644
index 0000000..66e4491
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityAlias.EntityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[EntityAlias](EntityAlias.md 'Pf2e\.Database\.Model\.Base\.EntityAlias')
+
+## EntityAlias\.EntityId Property
+
+Идентификатор связанной сущности\.
+
+```csharp
+public int EntityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityAlias.Id.md b/Documentation/Pf2e.Database/EntityAlias.Id.md
new file mode 100644
index 0000000..2354a75
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityAlias.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[EntityAlias](EntityAlias.md 'Pf2e\.Database\.Model\.Base\.EntityAlias')
+
+## EntityAlias\.Id Property
+
+Идентификатор источника\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityAlias.Name.md b/Documentation/Pf2e.Database/EntityAlias.Name.md
new file mode 100644
index 0000000..2d4c96c
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityAlias.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[EntityAlias](EntityAlias.md 'Pf2e\.Database\.Model\.Base\.EntityAlias')
+
+## EntityAlias\.Name Property
+
+Отображаемое имя источника\.
+
+```csharp
+public string Name { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityAlias.md b/Documentation/Pf2e.Database/EntityAlias.md
new file mode 100644
index 0000000..ec85ead
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityAlias.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base')
+
+## EntityAlias Class
+
+Алиас сущности\.
+
+```csharp
+public class EntityAlias
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 EntityAlias
+
+| Properties | |
+| :--- | :--- |
+| [Entity](EntityAlias.Entity.md 'Pf2e\.Database\.Model\.Base\.EntityAlias\.Entity') | Связанная |
+| [EntityId](EntityAlias.EntityId.md 'Pf2e\.Database\.Model\.Base\.EntityAlias\.EntityId') | Идентификатор связанной сущности\. |
+| [Id](EntityAlias.Id.md 'Pf2e\.Database\.Model\.Base\.EntityAlias\.Id') | Идентификатор источника\. |
+| [Name](EntityAlias.Name.md 'Pf2e\.Database\.Model\.Base\.EntityAlias\.Name') | Отображаемое имя источника\. |
diff --git a/Documentation/Pf2e.Database/EntityExternal.Entity.md b/Documentation/Pf2e.Database/EntityExternal.Entity.md
new file mode 100644
index 0000000..5974bb7
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')
+
+## EntityExternal\.Entity Property
+
+Сущность, которая ссылается на внешнюю ссылку\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityExternal.EntityId.md b/Documentation/Pf2e.Database/EntityExternal.EntityId.md
new file mode 100644
index 0000000..d8c13c2
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.EntityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')
+
+## EntityExternal\.EntityId Property
+
+Идентификатор сущности\.
+
+```csharp
+public int EntityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityExternal.ExternalId.md b/Documentation/Pf2e.Database/EntityExternal.ExternalId.md
new file mode 100644
index 0000000..0ca18e2
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.ExternalId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')
+
+## EntityExternal\.ExternalId Property
+
+Идентификатор элемента по ссылке\.
+
+```csharp
+public string? ExternalId { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityExternal.Md5.md b/Documentation/Pf2e.Database/EntityExternal.Md5.md
new file mode 100644
index 0000000..a951a21
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.Md5.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')
+
+## EntityExternal\.Md5 Property
+
+Контрольная сумма объекта\.
+
+```csharp
+public string Md5 { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityExternal.Suffix.md b/Documentation/Pf2e.Database/EntityExternal.Suffix.md
new file mode 100644
index 0000000..53f1dea
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.Suffix.md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')
+
+## EntityExternal\.Suffix Property
+
+Конечная часть URL внешней ссылки\.
+Для источников Foundry \- полный UUID объекта\.
+
+```csharp
+public string Suffix { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityExternal.Target.md b/Documentation/Pf2e.Database/EntityExternal.Target.md
new file mode 100644
index 0000000..191a5e4
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.Target.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')
+
+## EntityExternal\.Target Property
+
+Цель внешней ссылки\.
+
+```csharp
+public Pf2e.Database.Model.Base.Targets.ExternalTarget Target { get; set; }
+```
+
+#### Property Value
+[ExternalTarget](ExternalTarget.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityExternal.TargetId.md b/Documentation/Pf2e.Database/EntityExternal.TargetId.md
new file mode 100644
index 0000000..4a49936
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.TargetId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')
+
+## EntityExternal\.TargetId Property
+
+Идентификатор цели\.
+
+```csharp
+public int TargetId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityExternal.md b/Documentation/Pf2e.Database/EntityExternal.md
new file mode 100644
index 0000000..dc560a5
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityExternal.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets')
+
+## EntityExternal Class
+
+Внешняя ссылка сущности\.
+
+```csharp
+public class EntityExternal
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 EntityExternal
+
+| Properties | |
+| :--- | :--- |
+| [Entity](EntityExternal.Entity.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal\.Entity') | Сущность, которая ссылается на внешнюю ссылку\. |
+| [EntityId](EntityExternal.EntityId.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal\.EntityId') | Идентификатор сущности\. |
+| [ExternalId](EntityExternal.ExternalId.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal\.ExternalId') | Идентификатор элемента по ссылке\. |
+| [Md5](EntityExternal.Md5.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal\.Md5') | Контрольная сумма объекта\. |
+| [Suffix](EntityExternal.Suffix.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal\.Suffix') | Конечная часть URL внешней ссылки\. Для источников Foundry \- полный UUID объекта\. |
+| [Target](EntityExternal.Target.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal\.Target') | Цель внешней ссылки\. |
+| [TargetId](EntityExternal.TargetId.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal\.TargetId') | Идентификатор цели\. |
diff --git a/Documentation/Pf2e.Database/EntityOfTypeAttribute.EntityOfTypeAttribute(EntityType).md b/Documentation/Pf2e.Database/EntityOfTypeAttribute.EntityOfTypeAttribute(EntityType).md
new file mode 100644
index 0000000..c8ba571
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityOfTypeAttribute.EntityOfTypeAttribute(EntityType).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[EntityOfTypeAttribute](EntityOfTypeAttribute.md 'Pf2e\.Database\.EntityOfTypeAttribute')
+
+## EntityOfTypeAttribute\(EntityType\) Constructor
+
+Аттрибут, указывающий тип сущности\.
+
+```csharp
+public EntityOfTypeAttribute(Pf2e.Database.Model.Enum.EntityType type);
+```
+#### Parameters
+
+
+
+`type` [EntityType](EntityType.md 'Pf2e\.Database\.Model\.Enum\.EntityType')
+
+Тип сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityOfTypeAttribute.Resolve(Entity).md b/Documentation/Pf2e.Database/EntityOfTypeAttribute.Resolve(Entity).md
new file mode 100644
index 0000000..f1ba5b7
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityOfTypeAttribute.Resolve(Entity).md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[EntityOfTypeAttribute](EntityOfTypeAttribute.md 'Pf2e\.Database\.EntityOfTypeAttribute')
+
+## EntityOfTypeAttribute\.Resolve\(Entity\) Method
+
+Метод для получения программного типа сущности по её типу\.
+
+```csharp
+public static System.Type Resolve(Pf2e.Database.Model.Base.Entity entity);
+```
+#### Parameters
+
+
+
+`entity` [Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
+
+Тип сущности\.
+
+#### Returns
+[System\.Type](https://docs.microsoft.com/en-us/dotnet/api/System.Type 'System\.Type')
+Программный тип сущности\.
+
+#### Exceptions
+
+[System\.Exception](https://docs.microsoft.com/en-us/dotnet/api/System.Exception 'System\.Exception')
+Если есть ошибка в структурах\.
+
+[System\.ComponentModel\.InvalidEnumArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ComponentModel.InvalidEnumArgumentException 'System\.ComponentModel\.InvalidEnumArgumentException')
+Тип сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityOfTypeAttribute.Type.md b/Documentation/Pf2e.Database/EntityOfTypeAttribute.Type.md
new file mode 100644
index 0000000..a51adf0
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityOfTypeAttribute.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[EntityOfTypeAttribute](EntityOfTypeAttribute.md 'Pf2e\.Database\.EntityOfTypeAttribute')
+
+## EntityOfTypeAttribute\.Type Property
+
+Тип сущности\.
+
+```csharp
+public Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[EntityType](EntityType.md 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntityOfTypeAttribute.md b/Documentation/Pf2e.Database/EntityOfTypeAttribute.md
new file mode 100644
index 0000000..805a52a
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityOfTypeAttribute.md
@@ -0,0 +1,24 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database')
+
+## EntityOfTypeAttribute Class
+
+Аттрибут, указывающий тип сущности\.
+
+```csharp
+public class EntityOfTypeAttribute : System.Attribute
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [System\.Attribute](https://docs.microsoft.com/en-us/dotnet/api/System.Attribute 'System\.Attribute') 🡒 EntityOfTypeAttribute
+
+| Constructors | |
+| :--- | :--- |
+| [EntityOfTypeAttribute\(EntityType\)](EntityOfTypeAttribute.EntityOfTypeAttribute(EntityType).md 'Pf2e\.Database\.EntityOfTypeAttribute\.EntityOfTypeAttribute\(Pf2e\.Database\.Model\.Enum\.EntityType\)') | Аттрибут, указывающий тип сущности\. |
+
+| Properties | |
+| :--- | :--- |
+| [Type](EntityOfTypeAttribute.Type.md 'Pf2e\.Database\.EntityOfTypeAttribute\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Resolve\(Entity\)](EntityOfTypeAttribute.Resolve(Entity).md 'Pf2e\.Database\.EntityOfTypeAttribute\.Resolve\(Pf2e\.Database\.Model\.Base\.Entity\)') | Метод для получения программного типа сущности по её типу\. |
diff --git a/Documentation/Pf2e.Database/EntityRarity.md b/Documentation/Pf2e.Database/EntityRarity.md
new file mode 100644
index 0000000..1dab16c
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityRarity.md
@@ -0,0 +1,35 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## EntityRarity Enum
+
+Перечисление редкости сущности\.
+
+```csharp
+public enum EntityRarity
+```
+### Fields
+
+
+
+`Common` 0
+
+Обычная редкость\.
+
+
+
+`Uncommon` 1
+
+Необычная редкость\.
+
+
+
+`Rare` 2
+
+Редкая редкость\.
+
+
+
+`Unique` 3
+
+Уникальная редкость\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.Entity.md b/Documentation/Pf2e.Database/EntitySource.Entity.md
new file mode 100644
index 0000000..ae4f652
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')
+
+## EntitySource\.Entity Property
+
+Сущность, к которой относится источник\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.EntityId.md b/Documentation/Pf2e.Database/EntitySource.EntityId.md
new file mode 100644
index 0000000..5152186
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.EntityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')
+
+## EntitySource\.EntityId Property
+
+Идентификатор сущности\.
+
+```csharp
+public int EntityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.Id.md b/Documentation/Pf2e.Database/EntitySource.Id.md
new file mode 100644
index 0000000..0d07676
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')
+
+## EntitySource\.Id Property
+
+Идентификатор связи\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.IsRemaster.md b/Documentation/Pf2e.Database/EntitySource.IsRemaster.md
new file mode 100644
index 0000000..6cd8667
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.IsRemaster.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')
+
+## EntitySource\.IsRemaster Property
+
+Флаг, указывающий, что объект является частью ремастера\.
+
+```csharp
+public bool IsRemaster { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.Source.md b/Documentation/Pf2e.Database/EntitySource.Source.md
new file mode 100644
index 0000000..5f6a8cc
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.Source.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')
+
+## EntitySource\.Source Property
+
+Источник, к которому относится сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Source.Source Source { get; set; }
+```
+
+#### Property Value
+[Source](Source.md 'Pf2e\.Database\.Model\.Base\.Source\.Source')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.SourceId.md b/Documentation/Pf2e.Database/EntitySource.SourceId.md
new file mode 100644
index 0000000..eb19ad7
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.SourceId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')
+
+## EntitySource\.SourceId Property
+
+Идентификатор источника\.
+
+```csharp
+public int SourceId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.Suffix.md b/Documentation/Pf2e.Database/EntitySource.Suffix.md
new file mode 100644
index 0000000..701ec40
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.Suffix.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')
+
+## EntitySource\.Suffix Property
+
+Дополнительная информация о источнике, например, номер страницы, номер тома и т\.д\.
+
+```csharp
+public string Suffix { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/EntitySource.md b/Documentation/Pf2e.Database/EntitySource.md
new file mode 100644
index 0000000..5bf9c49
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntitySource.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source')
+
+## EntitySource Class
+
+Связь между сущностью и источником\.
+
+```csharp
+public class EntitySource
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 EntitySource
+
+| Properties | |
+| :--- | :--- |
+| [Entity](EntitySource.Entity.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource\.Entity') | Сущность, к которой относится источник\. |
+| [EntityId](EntitySource.EntityId.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource\.EntityId') | Идентификатор сущности\. |
+| [Id](EntitySource.Id.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource\.Id') | Идентификатор связи\. |
+| [IsRemaster](EntitySource.IsRemaster.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource\.IsRemaster') | Флаг, указывающий, что объект является частью ремастера\. |
+| [Source](EntitySource.Source.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource\.Source') | Источник, к которому относится сущность\. |
+| [SourceId](EntitySource.SourceId.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource\.SourceId') | Идентификатор источника\. |
+| [Suffix](EntitySource.Suffix.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource\.Suffix') | Дополнительная информация о источнике, например, номер страницы, номер тома и т\.д\. |
diff --git a/Documentation/Pf2e.Database/EntityType.md b/Documentation/Pf2e.Database/EntityType.md
new file mode 100644
index 0000000..a147b49
--- /dev/null
+++ b/Documentation/Pf2e.Database/EntityType.md
@@ -0,0 +1,137 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## EntityType Enum
+
+Тип сущности\.
+
+```csharp
+public enum EntityType
+```
+### Fields
+
+
+
+`Unknown` 0
+
+Неизвестный тип сущности\.
+
+
+
+`Trait` 1
+
+Признак\.
+
+
+
+`Action` 2
+
+Действие\.
+
+
+
+`Ancestry` 3
+
+Родословная\.
+
+
+
+`Archetype` 4
+
+Архетип\.
+
+
+
+`Background` 5
+
+Происхождение\.
+
+
+
+`Backpack` 6
+
+Рюкзак\.
+
+
+
+`CampaignFeature` 7
+
+Способность кампании\.
+
+
+
+`Class` 8
+
+Класс\.
+
+
+
+`SubclassGroup` 9
+
+Группа подклассов\.
+
+
+
+`Subclass` 10
+
+Подкласс\.
+
+
+
+`Condition` 11
+
+Состояние\.
+
+
+
+`Domain` 12
+
+Домен божества\.
+
+
+
+`Deity` 13
+
+Божество\.
+
+
+
+`Feat` 14
+
+Навык\.
+
+
+
+`Heritage` 15
+
+Наследие\.
+
+
+
+`Spell` 16
+
+Заклианиние\.
+
+
+
+`Ritual` 17
+
+Ритуал\.
+
+
+
+`Language` 18
+
+Язык\.
+
+
+
+`Rule` 19
+
+Правило\.
+
+
+
+`DeityCategory` 20
+
+Категория божества\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ExternalTarget.EntityExternals.md b/Documentation/Pf2e.Database/ExternalTarget.EntityExternals.md
new file mode 100644
index 0000000..3743dd4
--- /dev/null
+++ b/Documentation/Pf2e.Database/ExternalTarget.EntityExternals.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[ExternalTarget](ExternalTarget.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget')
+
+## ExternalTarget\.EntityExternals Property
+
+Коллекция сущностей, которые ссылаются на эту цель\.
+
+```csharp
+public System.Collections.Generic.ICollection EntityExternals { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ExternalTarget.Icon.md b/Documentation/Pf2e.Database/ExternalTarget.Icon.md
new file mode 100644
index 0000000..b5f9bbf
--- /dev/null
+++ b/Documentation/Pf2e.Database/ExternalTarget.Icon.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[ExternalTarget](ExternalTarget.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget')
+
+## ExternalTarget\.Icon Property
+
+Иконка цели\.
+
+```csharp
+public string Icon { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ExternalTarget.Id.md b/Documentation/Pf2e.Database/ExternalTarget.Id.md
new file mode 100644
index 0000000..c94d1f1
--- /dev/null
+++ b/Documentation/Pf2e.Database/ExternalTarget.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[ExternalTarget](ExternalTarget.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget')
+
+## ExternalTarget\.Id Property
+
+Идентификатор цели\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ExternalTarget.Name.md b/Documentation/Pf2e.Database/ExternalTarget.Name.md
new file mode 100644
index 0000000..3f83ba5
--- /dev/null
+++ b/Documentation/Pf2e.Database/ExternalTarget.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[ExternalTarget](ExternalTarget.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget')
+
+## ExternalTarget\.Name Property
+
+Название цели\.
+
+```csharp
+public string Name { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ExternalTarget.Prefix.md b/Documentation/Pf2e.Database/ExternalTarget.Prefix.md
new file mode 100644
index 0000000..94a634d
--- /dev/null
+++ b/Documentation/Pf2e.Database/ExternalTarget.Prefix.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets').[ExternalTarget](ExternalTarget.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget')
+
+## ExternalTarget\.Prefix Property
+
+Префикс для URL\-адреса внешней ссылки\.
+
+```csharp
+public string Prefix { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/ExternalTarget.md b/Documentation/Pf2e.Database/ExternalTarget.md
new file mode 100644
index 0000000..e218b99
--- /dev/null
+++ b/Documentation/Pf2e.Database/ExternalTarget.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets')
+
+## ExternalTarget Class
+
+Цель внешней ссылки\.
+
+```csharp
+public class ExternalTarget
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ExternalTarget
+
+| Properties | |
+| :--- | :--- |
+| [EntityExternals](ExternalTarget.EntityExternals.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget\.EntityExternals') | Коллекция сущностей, которые ссылаются на эту цель\. |
+| [Icon](ExternalTarget.Icon.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget\.Icon') | Иконка цели\. |
+| [Id](ExternalTarget.Id.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget\.Id') | Идентификатор цели\. |
+| [Name](ExternalTarget.Name.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget\.Name') | Название цели\. |
+| [Prefix](ExternalTarget.Prefix.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget\.Prefix') | Префикс для URL\-адреса внешней ссылки\. |
diff --git a/Documentation/Pf2e.Database/Feat.Actions.md b/Documentation/Pf2e.Database/Feat.Actions.md
new file mode 100644
index 0000000..a2d7dc7
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.Actions.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.Actions Property
+
+Количество действий, необходимых для применения фита\.
+
+```csharp
+public Pf2e.Database.Model.Enum.ActionEnum Actions { get; set; }
+```
+
+#### Property Value
+[ActionEnum](ActionEnum.md 'Pf2e\.Database\.Model\.Enum\.ActionEnum')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.Archetypes.md b/Documentation/Pf2e.Database/Feat.Archetypes.md
new file mode 100644
index 0000000..e67bba6
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.Archetypes.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.Archetypes Property
+
+Архетипы, которые могут использовать эту способность\.
+
+```csharp
+public System.Collections.Generic.ICollection Archetypes { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.Category.md b/Documentation/Pf2e.Database/Feat.Category.md
new file mode 100644
index 0000000..85f10da
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.Category.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.Category Property
+
+Категория способности\.
+
+```csharp
+public Pf2e.Database.Model.Enum.FeatCategory Category { get; set; }
+```
+
+#### Property Value
+[FeatCategory](FeatCategory.md 'Pf2e\.Database\.Model\.Enum\.FeatCategory')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.Entity.md b/Documentation/Pf2e.Database/Feat.Entity.md
new file mode 100644
index 0000000..a871af4
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.Extra.md b/Documentation/Pf2e.Database/Feat.Extra.md
new file mode 100644
index 0000000..b94c501
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.Extra.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.Extra Property
+
+Дополнительная информация\.
+
+```csharp
+public string? Extra { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.FeatPrerequisites.md b/Documentation/Pf2e.Database/Feat.FeatPrerequisites.md
new file mode 100644
index 0000000..1906c82
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.FeatPrerequisites.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.FeatPrerequisites Property
+
+Требования к получению способности\.
+
+```csharp
+public System.Collections.Generic.ICollection FeatPrerequisites { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[FeatPrerequisite](FeatPrerequisite.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.Id.md b/Documentation/Pf2e.Database/Feat.Id.md
new file mode 100644
index 0000000..35c80bd
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.Level.md b/Documentation/Pf2e.Database/Feat.Level.md
new file mode 100644
index 0000000..09fdd6a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+
+## Feat\.Level Property
+
+Уровень способности\.
+
+```csharp
+public int Level { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Feat.md b/Documentation/Pf2e.Database/Feat.md
new file mode 100644
index 0000000..b6a0d65
--- /dev/null
+++ b/Documentation/Pf2e.Database/Feat.md
@@ -0,0 +1,25 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Feat Class
+
+Способность\.
+
+```csharp
+public class Feat : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Feat
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Actions](Feat.Actions.md 'Pf2e\.Database\.Model\.Structure\.Feat\.Actions') | Количество действий, необходимых для применения фита\. |
+| [Archetypes](Feat.Archetypes.md 'Pf2e\.Database\.Model\.Structure\.Feat\.Archetypes') | Архетипы, которые могут использовать эту способность\. |
+| [Category](Feat.Category.md 'Pf2e\.Database\.Model\.Structure\.Feat\.Category') | Категория способности\. |
+| [Entity](Feat.Entity.md 'Pf2e\.Database\.Model\.Structure\.Feat\.Entity') | Корневая сущность\. |
+| [Extra](Feat.Extra.md 'Pf2e\.Database\.Model\.Structure\.Feat\.Extra') | Дополнительная информация\. |
+| [FeatPrerequisites](Feat.FeatPrerequisites.md 'Pf2e\.Database\.Model\.Structure\.Feat\.FeatPrerequisites') | Требования к получению способности\. |
+| [Id](Feat.Id.md 'Pf2e\.Database\.Model\.Structure\.Feat\.Id') | Идентификатор сущности\. |
+| [Level](Feat.Level.md 'Pf2e\.Database\.Model\.Structure\.Feat\.Level') | Уровень способности\. |
diff --git a/Documentation/Pf2e.Database/FeatCategory.md b/Documentation/Pf2e.Database/FeatCategory.md
new file mode 100644
index 0000000..a6fd9bd
--- /dev/null
+++ b/Documentation/Pf2e.Database/FeatCategory.md
@@ -0,0 +1,95 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## FeatCategory Enum
+
+Категория черты\.
+
+```csharp
+public enum FeatCategory
+```
+### Fields
+
+
+
+`Uncategorized` 0
+
+Черта, которая не относится ни к одной из категорий\.
+
+
+
+`Ancestry` 1
+
+Черта наследия\. Возможная коллизия между [Ancestry](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.Ancestry 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.Ancestry') и [AncestryFeature](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.AncestryFeature 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.AncestryFeature')\.
+
+
+
+`AncestryFeature` 2
+
+Черта наследия\. Возможная коллизия между [Ancestry](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.Ancestry 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.Ancestry') и [AncestryFeature](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.AncestryFeature 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.AncestryFeature')\.
+
+
+
+`Archetype` 3
+
+Черта архетипа\.
+
+
+
+`Calling` 4
+
+Черта мифического призвания\.
+
+
+
+`Class` 5
+
+Черта класса\. Возможная коллизия между [ClassFeature](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.ClassFeature 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.ClassFeature') и [Class](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.Class 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.Class')\.
+
+
+
+`ClassFeature` 6
+
+Черта класса\. Возможная коллизия между [Class](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.Class 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.Class') и [ClassFeature](FeatCategory.md#Pf2e.Database.Model.Enum.FeatCategory.ClassFeature 'Pf2e\.Database\.Model\.Enum\.FeatCategory\.ClassFeature')\.
+
+
+
+`Skill` 7
+
+Черта навыка\.
+
+
+
+`General` 8
+
+Общая черта\.
+
+
+
+`Bonus` 9
+
+Бонусная черта\.
+
+
+
+`Deityboon` 10
+
+Божественный дар\.
+
+
+
+`Curse` 11
+
+Проклятие\.
+
+
+
+`Pfsboon` 12
+
+Дар сообщества Pathfinder Society\.
+
+
+
+`CampaignFeature` 13
+
+Черта кампании\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/FeatPrerequisite.Feat.md b/Documentation/Pf2e.Database/FeatPrerequisite.Feat.md
new file mode 100644
index 0000000..517348f
--- /dev/null
+++ b/Documentation/Pf2e.Database/FeatPrerequisite.Feat.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.FeatRelation](Pf2e.Database.Model.Structure.FeatRelation.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation').[FeatPrerequisite](FeatPrerequisite.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite')
+
+## FeatPrerequisite\.Feat Property
+
+Черта, к которой относится предварительное требование\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Feat Feat { get; set; }
+```
+
+#### Property Value
+[Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/FeatPrerequisite.FeatId.md b/Documentation/Pf2e.Database/FeatPrerequisite.FeatId.md
new file mode 100644
index 0000000..cf10811
--- /dev/null
+++ b/Documentation/Pf2e.Database/FeatPrerequisite.FeatId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.FeatRelation](Pf2e.Database.Model.Structure.FeatRelation.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation').[FeatPrerequisite](FeatPrerequisite.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite')
+
+## FeatPrerequisite\.FeatId Property
+
+Идентификатор черты, к которой относится предварительное требование\.
+
+```csharp
+public int FeatId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/FeatPrerequisite.Id.md b/Documentation/Pf2e.Database/FeatPrerequisite.Id.md
new file mode 100644
index 0000000..da9f62a
--- /dev/null
+++ b/Documentation/Pf2e.Database/FeatPrerequisite.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.FeatRelation](Pf2e.Database.Model.Structure.FeatRelation.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation').[FeatPrerequisite](FeatPrerequisite.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite')
+
+## FeatPrerequisite\.Id Property
+
+Идентификатор предварительного требования для чериы\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/FeatPrerequisite.Value.md b/Documentation/Pf2e.Database/FeatPrerequisite.Value.md
new file mode 100644
index 0000000..b0509f6
--- /dev/null
+++ b/Documentation/Pf2e.Database/FeatPrerequisite.Value.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.FeatRelation](Pf2e.Database.Model.Structure.FeatRelation.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation').[FeatPrerequisite](FeatPrerequisite.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite')
+
+## FeatPrerequisite\.Value Property
+
+Предварительное требование для черты\.
+
+```csharp
+public string Value { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/FeatPrerequisite.md b/Documentation/Pf2e.Database/FeatPrerequisite.md
new file mode 100644
index 0000000..2c3506a
--- /dev/null
+++ b/Documentation/Pf2e.Database/FeatPrerequisite.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.FeatRelation](Pf2e.Database.Model.Structure.FeatRelation.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation')
+
+## FeatPrerequisite Class
+
+Предварительное требование для черты\.
+
+```csharp
+public class FeatPrerequisite
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 FeatPrerequisite
+
+| Properties | |
+| :--- | :--- |
+| [Feat](FeatPrerequisite.Feat.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite\.Feat') | Черта, к которой относится предварительное требование\. |
+| [FeatId](FeatPrerequisite.FeatId.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite\.FeatId') | Идентификатор черты, к которой относится предварительное требование\. |
+| [Id](FeatPrerequisite.Id.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite\.Id') | Идентификатор предварительного требования для чериы\. |
+| [Value](FeatPrerequisite.Value.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite\.Value') | Предварительное требование для черты\. |
diff --git a/Documentation/Pf2e.Database/Frequency.Id.md b/Documentation/Pf2e.Database/Frequency.Id.md
new file mode 100644
index 0000000..568d83c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Frequency.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common').[Frequency](Frequency.md 'Pf2e\.Database\.Model\.Common\.Frequency')
+
+## Frequency\.Id Property
+
+Идентификатор\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Frequency.Max.md b/Documentation/Pf2e.Database/Frequency.Max.md
new file mode 100644
index 0000000..2ffe66f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Frequency.Max.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common').[Frequency](Frequency.md 'Pf2e\.Database\.Model\.Common\.Frequency')
+
+## Frequency\.Max Property
+
+Максимальная продолжительсность\.
+
+```csharp
+public int Max { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Frequency.Per.md b/Documentation/Pf2e.Database/Frequency.Per.md
new file mode 100644
index 0000000..2f8a4c5
--- /dev/null
+++ b/Documentation/Pf2e.Database/Frequency.Per.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common').[Frequency](Frequency.md 'Pf2e\.Database\.Model\.Common\.Frequency')
+
+## Frequency\.Per Property
+
+Частота использования\.
+
+```csharp
+public int Per { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Frequency.Value.md b/Documentation/Pf2e.Database/Frequency.Value.md
new file mode 100644
index 0000000..6313489
--- /dev/null
+++ b/Documentation/Pf2e.Database/Frequency.Value.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common').[Frequency](Frequency.md 'Pf2e\.Database\.Model\.Common\.Frequency')
+
+## Frequency\.Value Property
+
+Значение использования\.
+
+```csharp
+public System.Nullable Value { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Frequency.md b/Documentation/Pf2e.Database/Frequency.md
new file mode 100644
index 0000000..ef734e9
--- /dev/null
+++ b/Documentation/Pf2e.Database/Frequency.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common')
+
+## Frequency Class
+
+Частота использования\.
+
+```csharp
+public class Frequency
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Frequency
+
+| Properties | |
+| :--- | :--- |
+| [Id](Frequency.Id.md 'Pf2e\.Database\.Model\.Common\.Frequency\.Id') | Идентификатор\. |
+| [Max](Frequency.Max.md 'Pf2e\.Database\.Model\.Common\.Frequency\.Max') | Максимальная продолжительсность\. |
+| [Per](Frequency.Per.md 'Pf2e\.Database\.Model\.Common\.Frequency\.Per') | Частота использования\. |
+| [Value](Frequency.Value.md 'Pf2e\.Database\.Model\.Common\.Frequency\.Value') | Значение использования\. |
diff --git a/Documentation/Pf2e.Database/Heritage.Ancestry.md b/Documentation/Pf2e.Database/Heritage.Ancestry.md
new file mode 100644
index 0000000..ac200c1
--- /dev/null
+++ b/Documentation/Pf2e.Database/Heritage.Ancestry.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Heritage](Heritage.md 'Pf2e\.Database\.Model\.Structure\.Heritage')
+
+## Heritage\.Ancestry Property
+
+Родословная\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Ancestry? Ancestry { get; set; }
+```
+
+#### Property Value
+[Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Heritage.AncestryId.md b/Documentation/Pf2e.Database/Heritage.AncestryId.md
new file mode 100644
index 0000000..f80f963
--- /dev/null
+++ b/Documentation/Pf2e.Database/Heritage.AncestryId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Heritage](Heritage.md 'Pf2e\.Database\.Model\.Structure\.Heritage')
+
+## Heritage\.AncestryId Property
+
+Идентификатор родословной\.
+
+```csharp
+public System.Nullable AncestryId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Heritage.Entity.md b/Documentation/Pf2e.Database/Heritage.Entity.md
new file mode 100644
index 0000000..af878ef
--- /dev/null
+++ b/Documentation/Pf2e.Database/Heritage.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Heritage](Heritage.md 'Pf2e\.Database\.Model\.Structure\.Heritage')
+
+## Heritage\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Heritage.Id.md b/Documentation/Pf2e.Database/Heritage.Id.md
new file mode 100644
index 0000000..1c2f41c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Heritage.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Heritage](Heritage.md 'Pf2e\.Database\.Model\.Structure\.Heritage')
+
+## Heritage\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Heritage.md b/Documentation/Pf2e.Database/Heritage.md
new file mode 100644
index 0000000..22949de
--- /dev/null
+++ b/Documentation/Pf2e.Database/Heritage.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Heritage Class
+
+Наследие\.
+
+```csharp
+public class Heritage : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Heritage
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Ancestry](Heritage.Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Heritage\.Ancestry') | Родословная\. |
+| [AncestryId](Heritage.AncestryId.md 'Pf2e\.Database\.Model\.Structure\.Heritage\.AncestryId') | Идентификатор родословной\. |
+| [Entity](Heritage.Entity.md 'Pf2e\.Database\.Model\.Structure\.Heritage\.Entity') | Корневая сущность\. |
+| [Id](Heritage.Id.md 'Pf2e\.Database\.Model\.Structure\.Heritage\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/IEntity.Entity.md b/Documentation/Pf2e.Database/IEntity.Entity.md
new file mode 100644
index 0000000..85992da
--- /dev/null
+++ b/Documentation/Pf2e.Database/IEntity.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model](Pf2e.Database.Model.md 'Pf2e\.Database\.Model').[IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+## IEntity\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/IEntity.Id.md b/Documentation/Pf2e.Database/IEntity.Id.md
new file mode 100644
index 0000000..05b551c
--- /dev/null
+++ b/Documentation/Pf2e.Database/IEntity.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model](Pf2e.Database.Model.md 'Pf2e\.Database\.Model').[IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+## IEntity\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/IEntity.md b/Documentation/Pf2e.Database/IEntity.md
new file mode 100644
index 0000000..8cf08d1
--- /dev/null
+++ b/Documentation/Pf2e.Database/IEntity.md
@@ -0,0 +1,35 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model](Pf2e.Database.Model.md 'Pf2e\.Database\.Model')
+
+## IEntity Interface
+
+Интерфейс сущностей структуры\.
+
+```csharp
+public interface IEntity
+```
+
+Derived
+↳ [Action](Action.md 'Pf2e\.Database\.Model\.Structure\.Action')
+↳ [Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')
+↳ [Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')
+↳ [Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')
+↳ [Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
+↳ [Condition](Condition.md 'Pf2e\.Database\.Model\.Structure\.Condition')
+↳ [Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')
+↳ [DeityCategory](DeityCategory.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory')
+↳ [Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain')
+↳ [Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')
+↳ [Heritage](Heritage.md 'Pf2e\.Database\.Model\.Structure\.Heritage')
+↳ [Language](Language.md 'Pf2e\.Database\.Model\.Structure\.Language')
+↳ [Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+↳ [Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+↳ [Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+↳ [Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+↳ [SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
+↳ [Trait](Trait.md 'Pf2e\.Database\.Model\.Structure\.Trait')
+
+| Properties | |
+| :--- | :--- |
+| [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity') | Корневая сущность\. |
+| [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/Keyword.Aliases.md b/Documentation/Pf2e.Database/Keyword.Aliases.md
new file mode 100644
index 0000000..58c91d6
--- /dev/null
+++ b/Documentation/Pf2e.Database/Keyword.Aliases.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword')
+
+## Keyword\.Aliases Property
+
+Коллекция синонимов ключевого слова\.
+
+```csharp
+public System.Collections.Generic.ICollection Aliases { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[KeywordAlias](KeywordAlias.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Keyword.Entities.md b/Documentation/Pf2e.Database/Keyword.Entities.md
new file mode 100644
index 0000000..7639157
--- /dev/null
+++ b/Documentation/Pf2e.Database/Keyword.Entities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword')
+
+## Keyword\.Entities Property
+
+Коллекция сущностей, которые используют это ключевое слово\.
+
+```csharp
+public System.Collections.Generic.ICollection Entities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Keyword.Id.md b/Documentation/Pf2e.Database/Keyword.Id.md
new file mode 100644
index 0000000..47a7f68
--- /dev/null
+++ b/Documentation/Pf2e.Database/Keyword.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword')
+
+## Keyword\.Id Property
+
+Идентификатор\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Keyword.Name.md b/Documentation/Pf2e.Database/Keyword.Name.md
new file mode 100644
index 0000000..84e0b6d
--- /dev/null
+++ b/Documentation/Pf2e.Database/Keyword.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword')
+
+## Keyword\.Name Field
+
+Отображаемое имя ключевого слова\.
+
+```csharp
+public LocaleString Name;
+```
+
+#### Field Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Keyword.Slug.md b/Documentation/Pf2e.Database/Keyword.Slug.md
new file mode 100644
index 0000000..01c27bf
--- /dev/null
+++ b/Documentation/Pf2e.Database/Keyword.Slug.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword')
+
+## Keyword\.Slug Property
+
+Часть имени в URL\.
+
+```csharp
+public string Slug { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Keyword.md b/Documentation/Pf2e.Database/Keyword.md
new file mode 100644
index 0000000..c479ff4
--- /dev/null
+++ b/Documentation/Pf2e.Database/Keyword.md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords')
+
+## Keyword Class
+
+Ключевое слово\.
+
+```csharp
+public class Keyword
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Keyword
+
+| Fields | |
+| :--- | :--- |
+| [Name](Keyword.Name.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword\.Name') | Отображаемое имя ключевого слова\. |
+
+| Properties | |
+| :--- | :--- |
+| [Aliases](Keyword.Aliases.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword\.Aliases') | Коллекция синонимов ключевого слова\. |
+| [Entities](Keyword.Entities.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword\.Entities') | Коллекция сущностей, которые используют это ключевое слово\. |
+| [Id](Keyword.Id.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword\.Id') | Идентификатор\. |
+| [Slug](Keyword.Slug.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword\.Slug') | Часть имени в URL\. |
diff --git a/Documentation/Pf2e.Database/KeywordAlias.Id.md b/Documentation/Pf2e.Database/KeywordAlias.Id.md
new file mode 100644
index 0000000..14b7892
--- /dev/null
+++ b/Documentation/Pf2e.Database/KeywordAlias.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[KeywordAlias](KeywordAlias.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias')
+
+## KeywordAlias\.Id Property
+
+Идентификатор\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/KeywordAlias.Keyword.md b/Documentation/Pf2e.Database/KeywordAlias.Keyword.md
new file mode 100644
index 0000000..b05f189
--- /dev/null
+++ b/Documentation/Pf2e.Database/KeywordAlias.Keyword.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[KeywordAlias](KeywordAlias.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias')
+
+## KeywordAlias\.Keyword Property
+
+Ключевое слово, к которому относится синоним\.
+
+```csharp
+public Pf2e.Database.Model.Base.Keywords.Keyword Keyword { get; set; }
+```
+
+#### Property Value
+[Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/KeywordAlias.KeywordId.md b/Documentation/Pf2e.Database/KeywordAlias.KeywordId.md
new file mode 100644
index 0000000..c7e0911
--- /dev/null
+++ b/Documentation/Pf2e.Database/KeywordAlias.KeywordId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[KeywordAlias](KeywordAlias.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias')
+
+## KeywordAlias\.KeywordId Property
+
+Идентификатор связаннного ключевого слова\.
+
+```csharp
+public int KeywordId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/KeywordAlias.Value.md b/Documentation/Pf2e.Database/KeywordAlias.Value.md
new file mode 100644
index 0000000..ea59a35
--- /dev/null
+++ b/Documentation/Pf2e.Database/KeywordAlias.Value.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords').[KeywordAlias](KeywordAlias.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias')
+
+## KeywordAlias\.Value Property
+
+Значение синонима ключевого слова\.
+
+```csharp
+public string Value { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/KeywordAlias.md b/Documentation/Pf2e.Database/KeywordAlias.md
new file mode 100644
index 0000000..f5fba35
--- /dev/null
+++ b/Documentation/Pf2e.Database/KeywordAlias.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords')
+
+## KeywordAlias Class
+
+Синоним ключевого слова\.
+
+```csharp
+public class KeywordAlias
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 KeywordAlias
+
+| Properties | |
+| :--- | :--- |
+| [Id](KeywordAlias.Id.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias\.Id') | Идентификатор\. |
+| [Keyword](KeywordAlias.Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias\.Keyword') | Ключевое слово, к которому относится синоним\. |
+| [KeywordId](KeywordAlias.KeywordId.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias\.KeywordId') | Идентификатор связаннного ключевого слова\. |
+| [Value](KeywordAlias.Value.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias\.Value') | Значение синонима ключевого слова\. |
diff --git a/Documentation/Pf2e.Database/Language.Entity.md b/Documentation/Pf2e.Database/Language.Entity.md
new file mode 100644
index 0000000..7c1e757
--- /dev/null
+++ b/Documentation/Pf2e.Database/Language.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Language](Language.md 'Pf2e\.Database\.Model\.Structure\.Language')
+
+## Language\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Language.Id.md b/Documentation/Pf2e.Database/Language.Id.md
new file mode 100644
index 0000000..b9d9794
--- /dev/null
+++ b/Documentation/Pf2e.Database/Language.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Language](Language.md 'Pf2e\.Database\.Model\.Structure\.Language')
+
+## Language\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Language.md b/Documentation/Pf2e.Database/Language.md
new file mode 100644
index 0000000..1e5f2bf
--- /dev/null
+++ b/Documentation/Pf2e.Database/Language.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Language Class
+
+Язык\.
+
+```csharp
+public class Language : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Language
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Entity](Language.Entity.md 'Pf2e\.Database\.Model\.Structure\.Language\.Entity') | Корневая сущность\. |
+| [Id](Language.Id.md 'Pf2e\.Database\.Model\.Structure\.Language\.Id') | Идентификатор сущности\. |
diff --git a/Documentation/Pf2e.Database/LegacyRemaster.LegacyEntity.md b/Documentation/Pf2e.Database/LegacyRemaster.LegacyEntity.md
new file mode 100644
index 0000000..b8c6a90
--- /dev/null
+++ b/Documentation/Pf2e.Database/LegacyRemaster.LegacyEntity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[LegacyRemaster](LegacyRemaster.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster')
+
+## LegacyRemaster\.LegacyEntity Property
+
+Устаревшая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity LegacyEntity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LegacyRemaster.LegacyId.md b/Documentation/Pf2e.Database/LegacyRemaster.LegacyId.md
new file mode 100644
index 0000000..e2cd143
--- /dev/null
+++ b/Documentation/Pf2e.Database/LegacyRemaster.LegacyId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[LegacyRemaster](LegacyRemaster.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster')
+
+## LegacyRemaster\.LegacyId Property
+
+Идентификатор устаревшей сущности\.
+
+```csharp
+public int LegacyId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LegacyRemaster.RemasterEntity.md b/Documentation/Pf2e.Database/LegacyRemaster.RemasterEntity.md
new file mode 100644
index 0000000..de06012
--- /dev/null
+++ b/Documentation/Pf2e.Database/LegacyRemaster.RemasterEntity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[LegacyRemaster](LegacyRemaster.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster')
+
+## LegacyRemaster\.RemasterEntity Property
+
+Обновлённая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity RemasterEntity { get; set; }
+```
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LegacyRemaster.RemasterId.md b/Documentation/Pf2e.Database/LegacyRemaster.RemasterId.md
new file mode 100644
index 0000000..4420b56
--- /dev/null
+++ b/Documentation/Pf2e.Database/LegacyRemaster.RemasterId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base').[LegacyRemaster](LegacyRemaster.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster')
+
+## LegacyRemaster\.RemasterId Property
+
+Идентификатор обновлённой сущности\.
+
+```csharp
+public int RemasterId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LegacyRemaster.md b/Documentation/Pf2e.Database/LegacyRemaster.md
new file mode 100644
index 0000000..bef5379
--- /dev/null
+++ b/Documentation/Pf2e.Database/LegacyRemaster.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base')
+
+## LegacyRemaster Class
+
+Связь устаревших и обновлённых сущностей
+
+```csharp
+public class LegacyRemaster
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 LegacyRemaster
+
+| Properties | |
+| :--- | :--- |
+| [LegacyEntity](LegacyRemaster.LegacyEntity.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster\.LegacyEntity') | Устаревшая сущность\. |
+| [LegacyId](LegacyRemaster.LegacyId.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster\.LegacyId') | Идентификатор устаревшей сущности\. |
+| [RemasterEntity](LegacyRemaster.RemasterEntity.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster\.RemasterEntity') | Обновлённая сущность\. |
+| [RemasterId](LegacyRemaster.RemasterId.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster\.RemasterId') | Идентификатор обновлённой сущности\. |
diff --git a/Documentation/Pf2e.Database/LocaleExtension.GetTypeByString(thisstring).md b/Documentation/Pf2e.Database/LocaleExtension.GetTypeByString(thisstring).md
new file mode 100644
index 0000000..93c7197
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleExtension.GetTypeByString(thisstring).md
@@ -0,0 +1,26 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleExtension](LocaleExtension.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleExtension')
+
+## LocaleExtension\.GetTypeByString\(this string\) Method
+
+Получение типа локализации по строковому представлению типа локализации\.
+
+```csharp
+public static Pf2e.Database.Model.Common.I18n.LocaleType GetTypeByString(this string localeTypeString);
+```
+#### Parameters
+
+
+
+`localeTypeString` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление типа локализации\.
+
+#### Returns
+[LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+Тип локализации\.
+
+#### Exceptions
+
+[System\.ComponentModel\.InvalidEnumArgumentException](https://docs.microsoft.com/en-us/dotnet/api/System.ComponentModel.InvalidEnumArgumentException 'System\.ComponentModel\.InvalidEnumArgumentException')
+Исключение, если строковое представление не соответсвует ни одному типу локализации\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleExtension.GetTypeString(thisLocaleType).md b/Documentation/Pf2e.Database/LocaleExtension.GetTypeString(thisLocaleType).md
new file mode 100644
index 0000000..0f6e933
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleExtension.GetTypeString(thisLocaleType).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleExtension](LocaleExtension.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleExtension')
+
+## LocaleExtension\.GetTypeString\(this LocaleType\) Method
+
+Получение строкового представления типа локализации\.
+
+```csharp
+public static string GetTypeString(this Pf2e.Database.Model.Common.I18n.LocaleType localeType);
+```
+#### Parameters
+
+
+
+`localeType` [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+
+Тип локализации\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление типа локализации\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleExtension.md b/Documentation/Pf2e.Database/LocaleExtension.md
new file mode 100644
index 0000000..a9d58aa
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleExtension.md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n')
+
+## LocaleExtension Class
+
+Расширения для работы с локализацией\.
+
+```csharp
+public static class LocaleExtension
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 LocaleExtension
+
+| Methods | |
+| :--- | :--- |
+| [GetTypeByString\(this string\)](LocaleExtension.GetTypeByString(thisstring).md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleExtension\.GetTypeByString\(this string\)') | Получение типа локализации по строковому представлению типа локализации\. |
+| [GetTypeString\(this LocaleType\)](LocaleExtension.GetTypeString(thisLocaleType).md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleExtension\.GetTypeString\(this Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\)') | Получение строкового представления типа локализации\. |
diff --git a/Documentation/Pf2e.Database/LocaleItem.Locale.md b/Documentation/Pf2e.Database/LocaleItem.Locale.md
new file mode 100644
index 0000000..7c7cd6f
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleItem.Locale.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')
+
+## LocaleItem\.Locale Property
+
+Тип локализации\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleType Locale { get; set; }
+```
+
+#### Property Value
+[LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleItem.LocaleItem.md b/Documentation/Pf2e.Database/LocaleItem.LocaleItem.md
new file mode 100644
index 0000000..07f257c
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleItem.LocaleItem.md
@@ -0,0 +1,49 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')
+
+## LocaleItem Constructors
+
+| Overloads | |
+| :--- | :--- |
+| [LocaleItem\(LocaleType, string\)](LocaleItem.LocaleItem.md#Pf2e.Database.Model.Common.I18n.LocaleItem.LocaleItem(Pf2e.Database.Model.Common.I18n.LocaleType,string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\.LocaleItem\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType, string\)') | Элемент локализации\. |
+| [LocaleItem\(KeyValuePair<string,string>\)](LocaleItem.LocaleItem.md#Pf2e.Database.Model.Common.I18n.LocaleItem.LocaleItem(System.Collections.Generic.KeyValuePair_string,string_) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\.LocaleItem\(System\.Collections\.Generic\.KeyValuePair\\)') | Конструктор класса [LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem') по паре ключ\-значение\. |
+
+
+
+## LocaleItem\(LocaleType, string\) Constructor
+
+Элемент локализации\.
+
+```csharp
+public LocaleItem(Pf2e.Database.Model.Common.I18n.LocaleType type, string value);
+```
+#### Parameters
+
+
+
+`type` [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+
+Тип локализации\.
+
+
+
+`value` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Значение локализации\.
+
+
+
+## LocaleItem\(KeyValuePair\\) Constructor
+
+Конструктор класса [LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem') по паре ключ\-значение\.
+
+```csharp
+public LocaleItem(System.Collections.Generic.KeyValuePair item);
+```
+#### Parameters
+
+
+
+`item` [System\.Collections\.Generic\.KeyValuePair<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System\.Collections\.Generic\.KeyValuePair\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System\.Collections\.Generic\.KeyValuePair\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.KeyValuePair-2 'System\.Collections\.Generic\.KeyValuePair\`2')
+
+Пара ключ\-значение по строковому представлению типа\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleItem.Value.md b/Documentation/Pf2e.Database/LocaleItem.Value.md
new file mode 100644
index 0000000..d90cb04
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleItem.Value.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')
+
+## LocaleItem\.Value Property
+
+Значение локализации\.
+
+```csharp
+public string Value { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleItem.md b/Documentation/Pf2e.Database/LocaleItem.md
new file mode 100644
index 0000000..960446a
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleItem.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n')
+
+## LocaleItem Class
+
+Элемент локализации\.
+
+```csharp
+public class LocaleItem
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 LocaleItem
+
+| Constructors | |
+| :--- | :--- |
+| [LocaleItem\(LocaleType, string\)](LocaleItem.LocaleItem.md#Pf2e.Database.Model.Common.I18n.LocaleItem.LocaleItem(Pf2e.Database.Model.Common.I18n.LocaleType,string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\.LocaleItem\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType, string\)') | Элемент локализации\. |
+| [LocaleItem\(KeyValuePair<string,string>\)](LocaleItem.LocaleItem.md#Pf2e.Database.Model.Common.I18n.LocaleItem.LocaleItem(System.Collections.Generic.KeyValuePair_string,string_) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\.LocaleItem\(System\.Collections\.Generic\.KeyValuePair\\)') | Конструктор класса [LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem') по паре ключ\-значение\. |
+
+| Properties | |
+| :--- | :--- |
+| [Locale](LocaleItem.Locale.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\.Locale') | Тип локализации\. |
+| [Value](LocaleItem.Value.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\.Value') | Значение локализации\. |
diff --git a/Documentation/Pf2e.Database/LocaleString.Add.md b/Documentation/Pf2e.Database/LocaleString.Add.md
new file mode 100644
index 0000000..118c722
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.Add.md
@@ -0,0 +1,49 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.Add Method
+
+| Overloads | |
+| :--- | :--- |
+| [Add\(LocaleItem\)](LocaleString.Add.md#Pf2e.Database.Model.Common.I18n.LocaleString.Add(Pf2e.Database.Model.Common.I18n.LocaleItem) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Add\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\)') | Добавление объекта локализованной строки в коллекцию\. |
+| [Add\(LocaleType, string\)](LocaleString.Add.md#Pf2e.Database.Model.Common.I18n.LocaleString.Add(Pf2e.Database.Model.Common.I18n.LocaleType,string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Add\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType, string\)') | Добавление локализованной строки в коллекцию\. |
+
+
+
+## LocaleString\.Add\(LocaleItem\) Method
+
+Добавление объекта локализованной строки в коллекцию\.
+
+```csharp
+public void Add(Pf2e.Database.Model.Common.I18n.LocaleItem item);
+```
+#### Parameters
+
+
+
+`item` [LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')
+
+Объект локализированной строки\.
+
+
+
+## LocaleString\.Add\(LocaleType, string\) Method
+
+Добавление локализованной строки в коллекцию\.
+
+```csharp
+public void Add(Pf2e.Database.Model.Common.I18n.LocaleType locale, string value);
+```
+#### Parameters
+
+
+
+`locale` [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+
+Тип локализации\.
+
+
+
+`value` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строка локазации\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.AssureDefault().md b/Documentation/Pf2e.Database/LocaleString.AssureDefault().md
new file mode 100644
index 0000000..635f800
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.AssureDefault().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.AssureDefault\(\) Method
+
+Проверяет наличие хотя бы одной локализации\.
+
+```csharp
+private void AssureDefault();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.Clear().md b/Documentation/Pf2e.Database/LocaleString.Clear().md
new file mode 100644
index 0000000..1c4335a
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.Clear().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.Clear\(\) Method
+
+Отчистка коллекции локализованных строк\.
+
+```csharp
+public void Clear();
+```
+
+Implements [Clear\(\)](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1.Clear 'System\.Collections\.Generic\.ICollection\`1\.Clear')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.Contains.md b/Documentation/Pf2e.Database/LocaleString.Contains.md
new file mode 100644
index 0000000..b161276
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.Contains.md
@@ -0,0 +1,73 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.Contains Method
+
+| Overloads | |
+| :--- | :--- |
+| [Contains\(LocaleItem\)](LocaleString.Contains.md#Pf2e.Database.Model.Common.I18n.LocaleString.Contains(Pf2e.Database.Model.Common.I18n.LocaleItem) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Contains\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\)') | Проверка наличия объекта локализованной строки в коллекции\. |
+| [Contains\(LocaleType\)](LocaleString.Contains.md#Pf2e.Database.Model.Common.I18n.LocaleString.Contains(Pf2e.Database.Model.Common.I18n.LocaleType) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Contains\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\)') | Проверка наличия локализованной строки в коллекции по типу локализации\. |
+| [Contains\(string\)](LocaleString.Contains.md#Pf2e.Database.Model.Common.I18n.LocaleString.Contains(string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Contains\(string\)') | Проверка наличия локализованной строки в коллекции по строковому представлению типа локализации\. |
+
+
+
+## LocaleString\.Contains\(LocaleItem\) Method
+
+Проверка наличия объекта локализованной строки в коллекции\.
+
+```csharp
+public bool Contains(Pf2e.Database.Model.Common.I18n.LocaleItem item);
+```
+#### Parameters
+
+
+
+`item` [LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')
+
+Объект локализированной строки\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+\`true\`, если объект есть; \`false\`, если нет\.
+
+
+
+## LocaleString\.Contains\(LocaleType\) Method
+
+Проверка наличия локализованной строки в коллекции по типу локализации\.
+
+```csharp
+public bool Contains(Pf2e.Database.Model.Common.I18n.LocaleType locale);
+```
+#### Parameters
+
+
+
+`locale` [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+
+Тип локализации\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+\`true\`, если искомый тип локализации есть; \`false\`, если нет\.
+
+
+
+## LocaleString\.Contains\(string\) Method
+
+Проверка наличия локализованной строки в коллекции по строковому представлению типа локализации\.
+
+```csharp
+public bool Contains(string localeString);
+```
+#### Parameters
+
+
+
+`localeString` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление искомого типа локализации\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+\`true\`, если искомый тип локализации есть; \`false\`, если нет\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.Count.md b/Documentation/Pf2e.Database/LocaleString.Count.md
new file mode 100644
index 0000000..5bd2d2f
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.Count.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.Count Property
+
+Количество локализаций\.
+
+```csharp
+public int Count { get; }
+```
+
+Implements [Count](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1.Count 'System\.Collections\.Generic\.ICollection\`1\.Count')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.Deserialize(string).md b/Documentation/Pf2e.Database/LocaleString.Deserialize(string).md
new file mode 100644
index 0000000..b91a47f
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.Deserialize(string).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.Deserialize\(string\) Method
+
+Десериализация локализованной строки из JSON\-формата\.
+
+```csharp
+public static Pf2e.Database.Model.Common.I18n.LocaleString Deserialize(string input);
+```
+#### Parameters
+
+
+
+`input` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление JSON\-представления\.
+
+#### Returns
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+Объект локализованной строки\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.GetEnumerator().md b/Documentation/Pf2e.Database/LocaleString.GetEnumerator().md
new file mode 100644
index 0000000..bf41c83
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.GetEnumerator().md
@@ -0,0 +1,16 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.GetEnumerator\(\) Method
+
+Возвращает перечислитель, выполняющий перебор элементов в коллекции\.
+
+```csharp
+public System.Collections.Generic.IEnumerator GetEnumerator();
+```
+
+Implements [GetEnumerator\(\)](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1.GetEnumerator 'System\.Collections\.Generic\.IEnumerable\`1\.GetEnumerator'), [GetEnumerator\(\)](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable.GetEnumerator 'System\.Collections\.IEnumerable\.GetEnumerator')
+
+#### Returns
+[System\.Collections\.Generic\.IEnumerator<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerator-1 'System\.Collections\.Generic\.IEnumerator\`1')[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerator-1 'System\.Collections\.Generic\.IEnumerator\`1')
+Перечислитель, который можно использовать для итерации по коллекции\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.GetItem.md b/Documentation/Pf2e.Database/LocaleString.GetItem.md
new file mode 100644
index 0000000..5e3c5b9
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.GetItem.md
@@ -0,0 +1,51 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.GetItem Method
+
+| Overloads | |
+| :--- | :--- |
+| [GetItem\(LocaleType\)](LocaleString.GetItem.md#Pf2e.Database.Model.Common.I18n.LocaleString.GetItem(Pf2e.Database.Model.Common.I18n.LocaleType) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.GetItem\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\)') | Получение объекта локализованной строки по типу локализации\. |
+| [GetItem\(string\)](LocaleString.GetItem.md#Pf2e.Database.Model.Common.I18n.LocaleString.GetItem(string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.GetItem\(string\)') | Получение объекта локализованной строки по строковому представлению типа локализации\. |
+
+
+
+## LocaleString\.GetItem\(LocaleType\) Method
+
+Получение объекта локализованной строки по типу локализации\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleItem GetItem(Pf2e.Database.Model.Common.I18n.LocaleType locale);
+```
+#### Parameters
+
+
+
+`locale` [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+
+Искомый тип локализации\.
+
+#### Returns
+[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')
+Объект локализованной строки\.
+
+
+
+## LocaleString\.GetItem\(string\) Method
+
+Получение объекта локализованной строки по строковому представлению типа локализации\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleItem GetItem(string localeString);
+```
+#### Parameters
+
+
+
+`localeString` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление искомого типа локализации\.
+
+#### Returns
+[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')
+Объект локализованной строки\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.IsReadOnly.md b/Documentation/Pf2e.Database/LocaleString.IsReadOnly.md
new file mode 100644
index 0000000..050601b
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.IsReadOnly.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.IsReadOnly Property
+
+Получает значение, указывающее, является ли объект [System\.Collections\.Generic\.ICollection<>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1') доступным только для чтения\.
+
+```csharp
+public bool IsReadOnly { get; }
+```
+
+Implements [IsReadOnly](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1.IsReadOnly 'System\.Collections\.Generic\.ICollection\`1\.IsReadOnly')
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.LocaleString().md b/Documentation/Pf2e.Database/LocaleString.LocaleString().md
new file mode 100644
index 0000000..b3d22f6
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.LocaleString().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\(\) Constructor
+
+Конструктор класса [LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')\.
+
+```csharp
+public LocaleString();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.RealLocale.md b/Documentation/Pf2e.Database/LocaleString.RealLocale.md
new file mode 100644
index 0000000..13c93e2
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.RealLocale.md
@@ -0,0 +1,51 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.RealLocale Method
+
+| Overloads | |
+| :--- | :--- |
+| [RealLocale\(LocaleType\)](LocaleString.RealLocale.md#Pf2e.Database.Model.Common.I18n.LocaleString.RealLocale(Pf2e.Database.Model.Common.I18n.LocaleType) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.RealLocale\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\)') | Получение типа локализации с учётом её наличия в коллекции\. |
+| [RealLocale\(string\)](LocaleString.RealLocale.md#Pf2e.Database.Model.Common.I18n.LocaleString.RealLocale(string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.RealLocale\(string\)') | Получение типа локализации по строковому представлению с учётом её наличия в коллекции\. |
+
+
+
+## LocaleString\.RealLocale\(LocaleType\) Method
+
+Получение типа локализации с учётом её наличия в коллекции\.
+
+```csharp
+private Pf2e.Database.Model.Common.I18n.LocaleType RealLocale(Pf2e.Database.Model.Common.I18n.LocaleType locale);
+```
+#### Parameters
+
+
+
+`locale` [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+
+Искомый тип локализации\.
+
+#### Returns
+[LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+Реальный тип локализации\.
+
+
+
+## LocaleString\.RealLocale\(string\) Method
+
+Получение типа локализации по строковому представлению с учётом её наличия в коллекции\.
+
+```csharp
+private Pf2e.Database.Model.Common.I18n.LocaleType RealLocale(string localeString);
+```
+#### Parameters
+
+
+
+`localeString` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление искомого типа локализации\.
+
+#### Returns
+[LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+Реальный тип локализации\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.Serialize().md b/Documentation/Pf2e.Database/LocaleString.Serialize().md
new file mode 100644
index 0000000..95d5a6f
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.Serialize().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.Serialize\(\) Method
+
+Сериализация локализованной строки в JSON\-формат\.
+
+```csharp
+public string Serialize();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление JSON\-представления\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.System.Collections.IEnumerable.GetEnumerator().md b/Documentation/Pf2e.Database/LocaleString.System.Collections.IEnumerable.GetEnumerator().md
new file mode 100644
index 0000000..4dbb665
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.System.Collections.IEnumerable.GetEnumerator().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## System\.Collections\.IEnumerable\.GetEnumerator\(\) Method
+
+Возвращает перечислитель, который осуществляет итерацию по коллекции\.
+
+```csharp
+System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator();
+```
+
+Implements [GetEnumerator\(\)](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable.GetEnumerator 'System\.Collections\.IEnumerable\.GetEnumerator')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.ToString().md b/Documentation/Pf2e.Database/LocaleString.ToString().md
new file mode 100644
index 0000000..2137e07
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.ToString().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.ToString\(\) Method
+
+Возвращает строку, представляющую текущий объект\.
+
+```csharp
+public override string ToString();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строка, представляющая текущий объект\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.Types.md b/Documentation/Pf2e.Database/LocaleString.Types.md
new file mode 100644
index 0000000..acdd3e2
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.Types.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.Types Property
+
+Коллекция реализованных типов локализаций\.
+
+```csharp
+public System.Collections.Generic.ICollection Types { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString._E(string).md b/Documentation/Pf2e.Database/LocaleString._E(string).md
new file mode 100644
index 0000000..0f8bbb4
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString._E(string).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.\_E\(string\) Method
+
+Получение типа локализации по строковому представлению\.
+
+```csharp
+private Pf2e.Database.Model.Common.I18n.LocaleType _E(string localeString);
+```
+#### Parameters
+
+
+
+`localeString` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление\.
+
+#### Returns
+[LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+Тип локализации\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString._items.md b/Documentation/Pf2e.Database/LocaleString._items.md
new file mode 100644
index 0000000..296da2e
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString._items.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.\_items Field
+
+Список локализаций строк\.
+
+```csharp
+private readonly List _items;
+```
+
+#### Field Value
+[System\.Collections\.Generic\.List<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.md b/Documentation/Pf2e.Database/LocaleString.md
new file mode 100644
index 0000000..6bbf3a4
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.md
@@ -0,0 +1,53 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n')
+
+## LocaleString Class
+
+Локализованная строка\.
+
+```csharp
+public class LocaleString : System.Collections.Generic.ICollection, System.Collections.Generic.IEnumerable, System.Collections.IEnumerable
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 LocaleString
+
+Implements [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1'), [System\.Collections\.Generic\.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1'), [System\.Collections\.IEnumerable](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.IEnumerable 'System\.Collections\.IEnumerable')
+
+| Constructors | |
+| :--- | :--- |
+| [LocaleString\(\)](LocaleString.LocaleString().md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.LocaleString\(\)') | Конструктор класса [LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')\. |
+
+| Fields | |
+| :--- | :--- |
+| [\_items](LocaleString._items.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.\_items') | Список локализаций строк\. |
+
+| Properties | |
+| :--- | :--- |
+| [Count](LocaleString.Count.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Count') | Количество локализаций\. |
+| [IsReadOnly](LocaleString.IsReadOnly.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.IsReadOnly') | Получает значение, указывающее, является ли объект [System\.Collections\.Generic\.ICollection<>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1') доступным только для чтения\. |
+| [this\[LocaleType\]](LocaleString.this[LocaleType].md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.this\[Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\]') | Получение локализованной строки по типу локализации\. |
+| [this\[string\]](LocaleString.this[string].md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.this\[string\]') | Получение локализованной строки по типу локализации\. |
+| [Types](LocaleString.Types.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Types') | Коллекция реализованных типов локализаций\. |
+
+| Methods | |
+| :--- | :--- |
+| [\_E\(string\)](LocaleString._E(string).md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.\_E\(string\)') | Получение типа локализации по строковому представлению\. |
+| [Add\(LocaleItem\)](LocaleString.Add.md#Pf2e.Database.Model.Common.I18n.LocaleString.Add(Pf2e.Database.Model.Common.I18n.LocaleItem) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Add\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\)') | Добавление объекта локализованной строки в коллекцию\. |
+| [Add\(LocaleType, string\)](LocaleString.Add.md#Pf2e.Database.Model.Common.I18n.LocaleString.Add(Pf2e.Database.Model.Common.I18n.LocaleType,string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Add\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType, string\)') | Добавление локализованной строки в коллекцию\. |
+| [AssureDefault\(\)](LocaleString.AssureDefault().md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.AssureDefault\(\)') | Проверяет наличие хотя бы одной локализации\. |
+| [Clear\(\)](LocaleString.Clear().md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Clear\(\)') | Отчистка коллекции локализованных строк\. |
+| [Contains\(LocaleItem\)](LocaleString.Contains.md#Pf2e.Database.Model.Common.I18n.LocaleString.Contains(Pf2e.Database.Model.Common.I18n.LocaleItem) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Contains\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem\)') | Проверка наличия объекта локализованной строки в коллекции\. |
+| [Contains\(LocaleType\)](LocaleString.Contains.md#Pf2e.Database.Model.Common.I18n.LocaleString.Contains(Pf2e.Database.Model.Common.I18n.LocaleType) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Contains\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\)') | Проверка наличия локализованной строки в коллекции по типу локализации\. |
+| [Contains\(string\)](LocaleString.Contains.md#Pf2e.Database.Model.Common.I18n.LocaleString.Contains(string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Contains\(string\)') | Проверка наличия локализованной строки в коллекции по строковому представлению типа локализации\. |
+| [Deserialize\(string\)](LocaleString.Deserialize(string).md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Deserialize\(string\)') | Десериализация локализованной строки из JSON\-формата\. |
+| [GetEnumerator\(\)](LocaleString.GetEnumerator().md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.GetEnumerator\(\)') | Возвращает перечислитель, выполняющий перебор элементов в коллекции\. |
+| [GetItem\(LocaleType\)](LocaleString.GetItem.md#Pf2e.Database.Model.Common.I18n.LocaleString.GetItem(Pf2e.Database.Model.Common.I18n.LocaleType) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.GetItem\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\)') | Получение объекта локализованной строки по типу локализации\. |
+| [GetItem\(string\)](LocaleString.GetItem.md#Pf2e.Database.Model.Common.I18n.LocaleString.GetItem(string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.GetItem\(string\)') | Получение объекта локализованной строки по строковому представлению типа локализации\. |
+| [RealLocale\(LocaleType\)](LocaleString.RealLocale.md#Pf2e.Database.Model.Common.I18n.LocaleString.RealLocale(Pf2e.Database.Model.Common.I18n.LocaleType) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.RealLocale\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleType\)') | Получение типа локализации с учётом её наличия в коллекции\. |
+| [RealLocale\(string\)](LocaleString.RealLocale.md#Pf2e.Database.Model.Common.I18n.LocaleString.RealLocale(string) 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.RealLocale\(string\)') | Получение типа локализации по строковому представлению с учётом её наличия в коллекции\. |
+| [Serialize\(\)](LocaleString.Serialize().md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.Serialize\(\)') | Сериализация локализованной строки в JSON\-формат\. |
+| [ToString\(\)](LocaleString.ToString().md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.ToString\(\)') | Возвращает строку, представляющую текущий объект\. |
+
+| Explicit Interface Implementations | |
+| :--- | :--- |
+| [System\.Collections\.IEnumerable\.GetEnumerator\(\)](LocaleString.System.Collections.IEnumerable.GetEnumerator().md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString\.System\.Collections\.IEnumerable\.GetEnumerator\(\)') | Возвращает перечислитель, который осуществляет итерацию по коллекции\. |
diff --git a/Documentation/Pf2e.Database/LocaleString.this[LocaleType].md b/Documentation/Pf2e.Database/LocaleString.this[LocaleType].md
new file mode 100644
index 0000000..e538916
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.this[LocaleType].md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.this\[LocaleType\] Property
+
+Получение локализованной строки по типу локализации\.
+
+```csharp
+public string this[Pf2e.Database.Model.Common.I18n.LocaleType locale] { get; set; }
+```
+#### Parameters
+
+
+
+`locale` [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType')
+
+Искомый тип локализации\.
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleString.this[string].md b/Documentation/Pf2e.Database/LocaleString.this[string].md
new file mode 100644
index 0000000..609890a
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleString.this[string].md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n').[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+## LocaleString\.this\[string\] Property
+
+Получение локализованной строки по типу локализации\.
+
+```csharp
+public string this[string localeString] { get; set; }
+```
+#### Parameters
+
+
+
+`localeString` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление искомого типа локализации\.
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/LocaleType.md b/Documentation/Pf2e.Database/LocaleType.md
new file mode 100644
index 0000000..b574215
--- /dev/null
+++ b/Documentation/Pf2e.Database/LocaleType.md
@@ -0,0 +1,35 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n')
+
+## LocaleType Enum
+
+Тип локализации\.
+
+```csharp
+public enum LocaleType
+```
+### Fields
+
+
+
+`English` 0
+
+Английский язык \(основной\)\.
+
+
+
+`Russian` 1
+
+Русский язык\.
+
+
+
+`Hobby` 2
+
+Русский язык \(вариант HobbyGames\)\.
+
+
+
+`Other` 3
+
+Другой язык\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Keywords.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Keywords.md
new file mode 100644
index 0000000..ed19ff4
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Keywords.md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Base\.Keywords Namespace
+
+Классы, связанные с ключевыми словами, которые могут использоваться в разных типах сущностей\.
+
+| Classes | |
+| :--- | :--- |
+| [Keyword](Keyword.md 'Pf2e\.Database\.Model\.Base\.Keywords\.Keyword') | Ключевое слово\. |
+| [KeywordAlias](KeywordAlias.md 'Pf2e\.Database\.Model\.Base\.Keywords\.KeywordAlias') | Синоним ключевого слова\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Source.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Source.md
new file mode 100644
index 0000000..d185afb
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Source.md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Base\.Source Namespace
+
+Классы, связанные с источниками, которые могут использоваться в разных типах сущностей\.
+
+| Classes | |
+| :--- | :--- |
+| [EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource') | Связь между сущностью и источником\. |
+| [Source](Source.md 'Pf2e\.Database\.Model\.Base\.Source\.Source') | Источник сущности\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Targets.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Targets.md
new file mode 100644
index 0000000..d2e7803
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.Targets.md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Base\.Targets Namespace
+
+Классы, связанные с целями внешних ссылок, которые могут использоваться в разных типах сущностей\.
+
+| Classes | |
+| :--- | :--- |
+| [EntityExternal](EntityExternal.md 'Pf2e\.Database\.Model\.Base\.Targets\.EntityExternal') | Внешняя ссылка сущности\. |
+| [ExternalTarget](ExternalTarget.md 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget') | Цель внешней ссылки\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.md
new file mode 100644
index 0000000..90637e1
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Base.md
@@ -0,0 +1,11 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Base Namespace
+
+Описание корневой сущности модели: класса [Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity') и его прямых связей\.
+
+| Classes | |
+| :--- | :--- |
+| [Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity') | Корневая сущность\. |
+| [EntityAlias](EntityAlias.md 'Pf2e\.Database\.Model\.Base\.EntityAlias') | Алиас сущности\. |
+| [LegacyRemaster](LegacyRemaster.md 'Pf2e\.Database\.Model\.Base\.LegacyRemaster') | Связь устаревших и обновлённых сущностей |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Common.I18n.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Common.I18n.md
new file mode 100644
index 0000000..b362d6e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Common.I18n.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Common\.I18n Namespace
+
+Классы, связанные с интернационализацией \(i18n\) модели\.
+
+| Classes | |
+| :--- | :--- |
+| [LocaleExtension](LocaleExtension.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleExtension') | Расширения для работы с локализацией\. |
+| [LocaleItem](LocaleItem.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleItem') | Элемент локализации\. |
+| [LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString') | Локализованная строка\. |
+
+| Enums | |
+| :--- | :--- |
+| [LocaleType](LocaleType.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleType') | Тип локализации\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Common.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Common.md
new file mode 100644
index 0000000..ed734ad
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Common.md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Common Namespace
+
+Общее классы на которые могут ссылаться разные типа\.
+
+| Classes | |
+| :--- | :--- |
+| [Frequency](Frequency.md 'Pf2e\.Database\.Model\.Common\.Frequency') | Частота использования\. |
+| [Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training') | Изучаемая способность\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Enum.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Enum.md
new file mode 100644
index 0000000..9221341
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Enum.md
@@ -0,0 +1,31 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Enum Namespace
+
+Описание всех перечислений, использующихся в модели\.
+
+| Enums | |
+| :--- | :--- |
+| [ActionCategory](ActionCategory.md 'Pf2e\.Database\.Model\.Enum\.ActionCategory') | Тип действия\. |
+| [ActionEnum](ActionEnum.md 'Pf2e\.Database\.Model\.Enum\.ActionEnum') | Перечиленение количества действий\. |
+| [AttributeValues](AttributeValues.md 'Pf2e\.Database\.Model\.Enum\.AttributeValues') | Перечисление значений атрибутов\. |
+| [ClassProgressionType](ClassProgressionType.md 'Pf2e\.Database\.Model\.Enum\.ClassProgressionType') | Тип элемента прогрессии класса\. |
+| [ConditionGroup](ConditionGroup.md 'Pf2e\.Database\.Model\.Enum\.ConditionGroup') | Тип состояния |
+| [DeityFonts](DeityFonts.md 'Pf2e\.Database\.Model\.Enum\.DeityFonts') | Тип божественной силы\. |
+| [DeitySanctification](DeitySanctification.md 'Pf2e\.Database\.Model\.Enum\.DeitySanctification') | Тип освящения божества\. |
+| [DeityType](DeityType.md 'Pf2e\.Database\.Model\.Enum\.DeityType') | Тип божества\. |
+| [ElementEnum](ElementEnum.md 'Pf2e\.Database\.Model\.Enum\.ElementEnum') | Перечисление элементов\. |
+| [EntityRarity](EntityRarity.md 'Pf2e\.Database\.Model\.Enum\.EntityRarity') | Перечисление редкости сущности\. |
+| [EntityType](EntityType.md 'Pf2e\.Database\.Model\.Enum\.EntityType') | Тип сущности\. |
+| [FeatCategory](FeatCategory.md 'Pf2e\.Database\.Model\.Enum\.FeatCategory') | Категория черты\. |
+| [SizeEnum](SizeEnum.md 'Pf2e\.Database\.Model\.Enum\.SizeEnum') | Размер\. |
+| [SourceCategory](SourceCategory.md 'Pf2e\.Database\.Model\.Enum\.SourceCategory') | Перечисление категорий источников\. |
+| [SpellAreaType](SpellAreaType.md 'Pf2e\.Database\.Model\.Enum\.SpellAreaType') | Тип области заклинания\. |
+| [SpellcastingType](SpellcastingType.md 'Pf2e\.Database\.Model\.Enum\.SpellcastingType') | Перечисление типа применения заклинаний\. |
+| [SpellDamageCategory](SpellDamageCategory.md 'Pf2e\.Database\.Model\.Enum\.SpellDamageCategory') | Тип урона заклинания\. |
+| [SpellDamageKinds](SpellDamageKinds.md 'Pf2e\.Database\.Model\.Enum\.SpellDamageKinds') | Тип урона заклинания\. |
+| [SpellTradition](SpellTradition.md 'Pf2e\.Database\.Model\.Enum\.SpellTradition') | Традиция заклинания\. |
+| [TrainingRank](TrainingRank.md 'Pf2e\.Database\.Model\.Enum\.TrainingRank') | Ранг тренировки\. |
+| [TrainingType](TrainingType.md 'Pf2e\.Database\.Model\.Enum\.TrainingType') | Тип тренировки\. |
+| [TraitType](TraitType.md 'Pf2e\.Database\.Model\.Enum\.TraitType') | Тип признака\. |
+| [VisionEnum](VisionEnum.md 'Pf2e\.Database\.Model\.Enum\.VisionEnum') | Перечисление типов зрения\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.AncestryRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.AncestryRelation.md
new file mode 100644
index 0000000..bd66461
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.AncestryRelation.md
@@ -0,0 +1,11 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.AncestryRelation Namespace
+
+Классы, описывающие связи класса [Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')\.
+
+| Classes | |
+| :--- | :--- |
+| [AncestryBoost](AncestryBoost.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryBoost') | Элемент набора повышений атрибутов для родословной\. |
+| [AncestryItem](AncestryItem.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryItem') | Связь между родословной и сущностью\. |
+| [AncestryLanguage](AncestryLanguage.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation\.AncestryLanguage') | Связь между родословной и языком\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.ArchetypeRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.ArchetypeRelation.md
new file mode 100644
index 0000000..77318d8
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.ArchetypeRelation.md
@@ -0,0 +1,9 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.ArchetypeRelation Namespace
+
+Классы, описывающие связи класса [Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')\.
+
+| Classes | |
+| :--- | :--- |
+| [ArchetypeFeats](ArchetypeFeats.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation\.ArchetypeFeats') | Связь между архетипом и его чертами\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.BackgroundRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.BackgroundRelation.md
new file mode 100644
index 0000000..ace1d5b
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.BackgroundRelation.md
@@ -0,0 +1,11 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.BackgroundRelation Namespace
+
+Классы, описывающие связи класса [Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')\.
+
+| Classes | |
+| :--- | :--- |
+| [BackgroundBoost](BackgroundBoost.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundBoost') | Элемент набора атрибутов для предыстории\. |
+| [BackgroundItem](BackgroundItem.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundItem') | Элемент предыстории, который может быть способностью, навыком или другим элементом, связанным с предысторией\. |
+| [BackgroundTraining](BackgroundTraining.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation\.BackgroundTraining') | Элемент набора связей между предысторией и тренируемым навыком\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.ClassRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.ClassRelation.md
new file mode 100644
index 0000000..30a3c7c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.ClassRelation.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.ClassRelation Namespace
+
+Классы, описывающие связи класса [Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')\.
+
+| Classes | |
+| :--- | :--- |
+| [ClassKeyAttribute](ClassKeyAttribute.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassKeyAttribute') | Набор ключевых атрибутов класса\. |
+| [ClassProgression](ClassProgression.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassProgression') | Элемент прогрессии класса\. |
+| [ClassTraining](ClassTraining.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining') | Набор элементов, связывающий класс и тренируемый навык\. |
+| [SubclassProvidedEntities](SubclassProvidedEntities.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassProvidedEntities') | Элемент, связывающий сущность с подклассом\. |
+| [SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings') | Связь между подклассами и тренировками\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.DeityRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.DeityRelation.md
new file mode 100644
index 0000000..7c8e226
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.DeityRelation.md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.DeityRelation Namespace
+
+Классы, описывающие связи класса [Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')\.
+
+| Classes | |
+| :--- | :--- |
+| [DeityAttribute](DeityAttribute.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityAttribute') | Элемент отношения божества и атрибута\. |
+| [DeityDomain](DeityDomain.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityDomain') | Элемент отношения божества и домена\. |
+| [DeitySpell](DeitySpell.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeitySpell') | Связь божества и заклинания\. |
+| [DeityWeapon](DeityWeapon.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation\.DeityWeapon') | Связь божества с оружием\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.FeatRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.FeatRelation.md
new file mode 100644
index 0000000..b429804
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.FeatRelation.md
@@ -0,0 +1,9 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.FeatRelation Namespace
+
+Классы, описывающие связи класса [Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')\.
+
+| Classes | |
+| :--- | :--- |
+| [FeatPrerequisite](FeatPrerequisite.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation\.FeatPrerequisite') | Предварительное требование для черты\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.RitualRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.RitualRelation.md
new file mode 100644
index 0000000..47d905a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.RitualRelation.md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.RitualRelation Namespace
+
+Классы, описывающие связи класса [Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')\.
+
+| Classes | |
+| :--- | :--- |
+| [RitualArea](RitualArea.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea') | Область действия ритуала\. |
+| [RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck') | Проверка для ритуала\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.SpellRelation.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.SpellRelation.md
new file mode 100644
index 0000000..40b542e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.SpellRelation.md
@@ -0,0 +1,11 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure\.SpellRelation Namespace
+
+Классы, описывающие связи класса [Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')\.
+
+| Classes | |
+| :--- | :--- |
+| [SpellArea](SpellArea.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea') | Область заклинания\. |
+| [SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage') | Урон заклинания\. |
+| [SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense') | Защита от заклинания\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.md
new file mode 100644
index 0000000..ba92a81
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.Structure.md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model\.Structure Namespace
+
+Основные типы, которые связаны 1\-к\-1 с [Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')\.
+Для указания этой связи используется интерфейс [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')\.
+
+| Classes | |
+| :--- | :--- |
+| [Action](Action.md 'Pf2e\.Database\.Model\.Structure\.Action') | Действие\. |
+| [Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry') | Родословная\. |
+| [Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype') | Архетип\. |
+| [Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background') | Предыстория\. |
+| [Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class') | Класс\. |
+| [Condition](Condition.md 'Pf2e\.Database\.Model\.Structure\.Condition') | Состояние\. |
+| [Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity') | Божество\. |
+| [DeityCategory](DeityCategory.md 'Pf2e\.Database\.Model\.Structure\.DeityCategory') | Категория божества\. |
+| [Domain](Domain.md 'Pf2e\.Database\.Model\.Structure\.Domain') | Домен\. |
+| [Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat') | Способность\. |
+| [Heritage](Heritage.md 'Pf2e\.Database\.Model\.Structure\.Heritage') | Наследие\. |
+| [Language](Language.md 'Pf2e\.Database\.Model\.Structure\.Language') | Язык\. |
+| [Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual') | Ритуал\. |
+| [Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule') | Правило\. |
+| [Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell') | Заклинание\. |
+| [Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass') | Подкласс\. |
+| [SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup') | Группа подклассов\. |
+| [Trait](Trait.md 'Pf2e\.Database\.Model\.Structure\.Trait') | Признак\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.Model.md b/Documentation/Pf2e.Database/Pf2e.Database.Model.md
new file mode 100644
index 0000000..9b0c6cc
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.Model.md
@@ -0,0 +1,9 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database\.Model Namespace
+
+Модель классов ORM EntityFramework\.
+
+| Interfaces | |
+| :--- | :--- |
+| [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity') | Интерфейс сущностей структуры\. |
diff --git a/Documentation/Pf2e.Database/Pf2e.Database.md b/Documentation/Pf2e.Database/Pf2e.Database.md
new file mode 100644
index 0000000..82cae32
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2e.Database.md
@@ -0,0 +1,11 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database Namespace
+
+Набор классов модели ORM EntityFramework\.
+
+| Classes | |
+| :--- | :--- |
+| [EfCleanHelper](EfCleanHelper.md 'Pf2e\.Database\.EfCleanHelper') | Класс, обеспецивающий общий способ для отчистки данных таблиц\. Источник: https://www\.codeproject\.com/Articles/5339402/Delete\-All\-Rows\-in\-Entity\-Framework\-Core\-6 |
+| [EntityOfTypeAttribute](EntityOfTypeAttribute.md 'Pf2e\.Database\.EntityOfTypeAttribute') | Аттрибут, указывающий тип сущности\. |
+| [Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext') | A DbContext instance represents a session with the database and can be used to query and save instances of your entities\. DbContext is a combination of the Unit Of Work and Repository patterns\. |
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.BindEntity_T_(EntityTypeBuilder_T_).md b/Documentation/Pf2e.Database/Pf2eDbContext.BindEntity_T_(EntityTypeBuilder_T_).md
new file mode 100644
index 0000000..b957acf
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.BindEntity_T_(EntityTypeBuilder_T_).md
@@ -0,0 +1,25 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.BindEntity\\(EntityTypeBuilder\\) Method
+
+Устанавливает связь между сущностью и её корневой сущностью\.
+
+```csharp
+private void BindEntity(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder entity)
+ where T : class, Pf2e.Database.Model.IEntity;
+```
+#### Type parameters
+
+
+
+`T`
+
+Тип сущности\.
+#### Parameters
+
+
+
+`entity` [Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder-1 'Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\`1')[T](Pf2eDbContext.BindEntity_T_(EntityTypeBuilder_T_).md#Pf2e.Database.Pf2eDbContext.BindEntity_T_(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder_T_).T 'Pf2e\.Database\.Pf2eDbContext\.BindEntity\\(Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\\)\.T')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder-1 'Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\`1')
+
+Генератор настроек таблицы сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.BindLocaleString_T_(EntityTypeBuilder_T_,Expression_Func_T,LocaleString__,bool).md b/Documentation/Pf2e.Database/Pf2eDbContext.BindLocaleString_T_(EntityTypeBuilder_T_,Expression_Func_T,LocaleString__,bool).md
new file mode 100644
index 0000000..9bf5f6a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.BindLocaleString_T_(EntityTypeBuilder_T_,Expression_Func_T,LocaleString__,bool).md
@@ -0,0 +1,37 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.BindLocaleString\\(EntityTypeBuilder\, Expression\\>, bool\) Method
+
+Устанавливает связь между сущностью и локализованной строкой\.
+
+```csharp
+private void BindLocaleString(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder entity, System.Linq.Expressions.Expression> func, bool required=true)
+ where T : class;
+```
+#### Type parameters
+
+
+
+`T`
+
+Тип сущности\.
+#### Parameters
+
+
+
+`entity` [Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder-1 'Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\`1')[T](Pf2eDbContext.BindLocaleString_T_(EntityTypeBuilder_T_,Expression_Func_T,LocaleString__,bool).md#Pf2e.Database.Pf2eDbContext.BindLocaleString_T_(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder_T_,System.Linq.Expressions.Expression_System.Func_T,Pf2e.Database.Model.Common.I18n.LocaleString__,bool).T 'Pf2e\.Database\.Pf2eDbContext\.BindLocaleString\\(Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\, System\.Linq\.Expressions\.Expression\\>, bool\)\.T')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder-1 'Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\`1')
+
+Генератор настроек таблицы сущности\.
+
+
+
+`func` [System\.Linq\.Expressions\.Expression<](https://docs.microsoft.com/en-us/dotnet/api/System.Linq.Expressions.Expression-1 'System\.Linq\.Expressions\.Expression\`1')[System\.Func<](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System\.Func\`2')[T](Pf2eDbContext.BindLocaleString_T_(EntityTypeBuilder_T_,Expression_Func_T,LocaleString__,bool).md#Pf2e.Database.Pf2eDbContext.BindLocaleString_T_(Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder_T_,System.Linq.Expressions.Expression_System.Func_T,Pf2e.Database.Model.Common.I18n.LocaleString__,bool).T 'Pf2e\.Database\.Pf2eDbContext\.BindLocaleString\\(Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\, System\.Linq\.Expressions\.Expression\\>, bool\)\.T')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System\.Func\`2')[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System\.Func\`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Linq.Expressions.Expression-1 'System\.Linq\.Expressions\.Expression\`1')
+
+Функция, выбирающая поле сущности\.
+
+
+
+`required` [System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+
+Флаг, указывающий, что локализованная строка не может быть \`null\`\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.DefineBase(ModelBuilder).md b/Documentation/Pf2e.Database/Pf2eDbContext.DefineBase(ModelBuilder).md
new file mode 100644
index 0000000..ff6ebae
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.DefineBase(ModelBuilder).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.DefineBase\(ModelBuilder\) Method
+
+Определяет базовые сущности и их связи\.
+
+```csharp
+private void DefineBase(Microsoft.EntityFrameworkCore.ModelBuilder modelBuilder);
+```
+#### Parameters
+
+
+
+`modelBuilder` [Microsoft\.EntityFrameworkCore\.ModelBuilder](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.ModelBuilder 'Microsoft\.EntityFrameworkCore\.ModelBuilder')
+
+Построитель модели\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.DefineCommon(ModelBuilder).md b/Documentation/Pf2e.Database/Pf2eDbContext.DefineCommon(ModelBuilder).md
new file mode 100644
index 0000000..50eb4be
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.DefineCommon(ModelBuilder).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.DefineCommon\(ModelBuilder\) Method
+
+Определяет общие сущности и их связи\.
+
+```csharp
+private void DefineCommon(Microsoft.EntityFrameworkCore.ModelBuilder modelBuilder);
+```
+#### Parameters
+
+
+
+`modelBuilder` [Microsoft\.EntityFrameworkCore\.ModelBuilder](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.ModelBuilder 'Microsoft\.EntityFrameworkCore\.ModelBuilder')
+
+Построитель модели\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.DefineMethods(ModelBuilder).md b/Documentation/Pf2e.Database/Pf2eDbContext.DefineMethods(ModelBuilder).md
new file mode 100644
index 0000000..f57e69c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.DefineMethods(ModelBuilder).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.DefineMethods\(ModelBuilder\) Method
+
+Определяет методы, которые будут использоваться в запросах LINQ\.
+
+```csharp
+private void DefineMethods(Microsoft.EntityFrameworkCore.ModelBuilder modelBuilder);
+```
+#### Parameters
+
+
+
+`modelBuilder` [Microsoft\.EntityFrameworkCore\.ModelBuilder](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.ModelBuilder 'Microsoft\.EntityFrameworkCore\.ModelBuilder')
+
+Построитель модели\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.DefineStructure(ModelBuilder).md b/Documentation/Pf2e.Database/Pf2eDbContext.DefineStructure(ModelBuilder).md
new file mode 100644
index 0000000..80a9b1e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.DefineStructure(ModelBuilder).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.DefineStructure\(ModelBuilder\) Method
+
+Определяет структуру сущностей и их связи\.
+
+```csharp
+private void DefineStructure(Microsoft.EntityFrameworkCore.ModelBuilder modelBuilder);
+```
+#### Parameters
+
+
+
+`modelBuilder` [Microsoft\.EntityFrameworkCore\.ModelBuilder](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.ModelBuilder 'Microsoft\.EntityFrameworkCore\.ModelBuilder')
+
+Построитель модели\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.LocaleSearch(LocaleString,string).md b/Documentation/Pf2e.Database/Pf2eDbContext.LocaleSearch(LocaleString,string).md
new file mode 100644
index 0000000..63ba0ee
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.LocaleSearch(LocaleString,string).md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.LocaleSearch\(LocaleString, string\) Method
+
+CLR\-представление функции поиска в локализованной строке\.
+
+```csharp
+public static bool LocaleSearch(Pf2e.Database.Model.Common.I18n.LocaleString data, string search_value);
+```
+#### Parameters
+
+
+
+`data` [LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+Локализованная строка, в которой будет осуществляться поиск\.
+
+
+
+`search_value` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Искомое значение для поиска\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+Флаг, указывающий, найдено ли искомое значение в локализованной строке\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.LocaleSearchArray(LocaleString,IEnumerable_string_).md b/Documentation/Pf2e.Database/Pf2eDbContext.LocaleSearchArray(LocaleString,IEnumerable_string_).md
new file mode 100644
index 0000000..bbd765b
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.LocaleSearchArray(LocaleString,IEnumerable_string_).md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.LocaleSearchArray\(LocaleString, IEnumerable\\) Method
+
+CLR\-представление функции поиска в локализованной строке с массивом значений для поиска\.
+
+```csharp
+public static bool LocaleSearchArray(Pf2e.Database.Model.Common.I18n.LocaleString data, System.Collections.Generic.IEnumerable search_values);
+```
+#### Parameters
+
+
+
+`data` [LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
+
+Локализованная строка, в которой будет осуществляться поиск\.
+
+
+
+`search_values` [System\.Collections\.Generic\.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
+
+Массив искомых значений для поиска\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+Флаг, указывающий, найдено ли хотя бы одно искомое значение в локализованной строке\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.NameLength.md b/Documentation/Pf2e.Database/Pf2eDbContext.NameLength.md
new file mode 100644
index 0000000..62b598a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.NameLength.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext\.NameLength Field
+
+Длина названия сущности\.
+
+```csharp
+public const int NameLength = 255;
+```
+
+#### Field Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2eModel/Pf2eDbContext.OnConfiguring(DbContextOptionsBuilder).md b/Documentation/Pf2e.Database/Pf2eDbContext.OnConfiguring(DbContextOptionsBuilder).md
similarity index 86%
rename from Documentation/Pf2eModel/Pf2eDbContext.OnConfiguring(DbContextOptionsBuilder).md
rename to Documentation/Pf2e.Database/Pf2eDbContext.OnConfiguring(DbContextOptionsBuilder).md
index 7befe65..d316d86 100644
--- a/Documentation/Pf2eModel/Pf2eDbContext.OnConfiguring(DbContextOptionsBuilder).md
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.OnConfiguring(DbContextOptionsBuilder).md
@@ -1,5 +1,5 @@
-#### [Pf2eModel](index.md 'index')
-### [Pf2eModel](Pf2eModel.md 'Pf2eModel').[Pf2eDbContext](Pf2eDbContext.md 'Pf2eModel\.Pf2eDbContext')
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
## Pf2eDbContext\.OnConfiguring\(DbContextOptionsBuilder\) Method
@@ -12,7 +12,7 @@ protected override void OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOpt
```
#### Parameters
-
+
`optionsBuilder` [Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContextOptionsBuilder 'Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder')
diff --git a/Documentation/Pf2eModel/Pf2eDbContext.OnModelCreating(ModelBuilder).md b/Documentation/Pf2e.Database/Pf2eDbContext.OnModelCreating(ModelBuilder).md
similarity index 86%
rename from Documentation/Pf2eModel/Pf2eDbContext.OnModelCreating(ModelBuilder).md
rename to Documentation/Pf2e.Database/Pf2eDbContext.OnModelCreating(ModelBuilder).md
index 4ad3005..ca74003 100644
--- a/Documentation/Pf2eModel/Pf2eDbContext.OnModelCreating(ModelBuilder).md
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.OnModelCreating(ModelBuilder).md
@@ -1,5 +1,5 @@
-#### [Pf2eModel](index.md 'index')
-### [Pf2eModel](Pf2eModel.md 'Pf2eModel').[Pf2eDbContext](Pf2eDbContext.md 'Pf2eModel\.Pf2eDbContext')
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
## Pf2eDbContext\.OnModelCreating\(ModelBuilder\) Method
@@ -12,7 +12,7 @@ protected override void OnModelCreating(Microsoft.EntityFrameworkCore.ModelBuild
```
#### Parameters
-
+
`modelBuilder` [Microsoft\.EntityFrameworkCore\.ModelBuilder](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.ModelBuilder 'Microsoft\.EntityFrameworkCore\.ModelBuilder')
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.Pf2eDbContext.md b/Documentation/Pf2e.Database/Pf2eDbContext.Pf2eDbContext.md
new file mode 100644
index 0000000..a497e49
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.Pf2eDbContext.md
@@ -0,0 +1,36 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database').[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')
+
+## Pf2eDbContext Constructors
+
+| Overloads | |
+| :--- | :--- |
+| [Pf2eDbContext\(\)](Pf2eDbContext.Pf2eDbContext.md#Pf2e.Database.Pf2eDbContext.Pf2eDbContext() 'Pf2e\.Database\.Pf2eDbContext\.Pf2eDbContext\(\)') | Инициализирует новый экземпляр класса [Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext') без параметров\. |
+| [Pf2eDbContext\(DbContextOptions<Pf2eDbContext>\)](Pf2eDbContext.Pf2eDbContext.md#Pf2e.Database.Pf2eDbContext.Pf2eDbContext(Microsoft.EntityFrameworkCore.DbContextOptions_Pf2e.Database.Pf2eDbContext_) 'Pf2e\.Database\.Pf2eDbContext\.Pf2eDbContext\(Microsoft\.EntityFrameworkCore\.DbContextOptions\\)') | Инициализирует новый экземпляр класса [Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext') с указанными параметрами конфигурации базы данных\. |
+
+
+
+## Pf2eDbContext\(\) Constructor
+
+Инициализирует новый экземпляр класса [Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext') без параметров\.
+
+```csharp
+public Pf2eDbContext();
+```
+
+
+
+## Pf2eDbContext\(DbContextOptions\\) Constructor
+
+Инициализирует новый экземпляр класса [Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext') с указанными параметрами конфигурации базы данных\.
+
+```csharp
+public Pf2eDbContext(Microsoft.EntityFrameworkCore.DbContextOptions options);
+```
+#### Parameters
+
+
+
+`options` [Microsoft\.EntityFrameworkCore\.DbContextOptions<](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContextOptions-1 'Microsoft\.EntityFrameworkCore\.DbContextOptions\`1')[Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext')[>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContextOptions-1 'Microsoft\.EntityFrameworkCore\.DbContextOptions\`1')
+
+Конфигурация базы данных\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Pf2eDbContext.md b/Documentation/Pf2e.Database/Pf2eDbContext.md
new file mode 100644
index 0000000..954d881
--- /dev/null
+++ b/Documentation/Pf2e.Database/Pf2eDbContext.md
@@ -0,0 +1,62 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database')
+
+## Pf2eDbContext Class
+
+A DbContext instance represents a session with the database and can be used to query and save
+instances of your entities\. DbContext is a combination of the Unit Of Work and Repository patterns\.
+
+```csharp
+public class Pf2eDbContext : Microsoft.EntityFrameworkCore.DbContext
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [Microsoft\.EntityFrameworkCore\.DbContext](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContext 'Microsoft\.EntityFrameworkCore\.DbContext') 🡒 Pf2eDbContext
+
+### Remarks
+
+Entity Framework Core does not support multiple parallel operations being run on the same DbContext instance. This
+includes both parallel execution of async queries and any explicit concurrent use from multiple threads.
+Therefore, always await async calls immediately, or use separate DbContext instances for operations that execute
+in parallel. See [Avoiding DbContext threading issues](https://aka.ms/efcore-docs-threading 'https://aka\.ms/efcore\-docs\-threading') for more information
+and examples.
+
+Typically you create a class that derives from DbContext and contains [Microsoft\.EntityFrameworkCore\.DbSet<>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1')
+properties for each entity in the model. If the [Microsoft\.EntityFrameworkCore\.DbSet<>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1') properties have a public setter,
+they are automatically initialized when the instance of the derived context is created.
+
+Override the [Microsoft\.EntityFrameworkCore\.DbContext\.OnConfiguring\(Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder\)](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContext.OnConfiguring#Microsoft_EntityFrameworkCore_DbContext_OnConfiguring_Microsoft_EntityFrameworkCore_DbContextOptionsBuilder_ 'Microsoft\.EntityFrameworkCore\.DbContext\.OnConfiguring\(Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder\)') method to configure the database (and
+other options) to be used for the context. Alternatively, if you would rather perform configuration externally
+instead of inline in your context, you can use [Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder<>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContextOptionsBuilder-1 'Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder\`1')
+(or [Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContextOptionsBuilder 'Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder')) to externally create an instance of [Microsoft\.EntityFrameworkCore\.DbContextOptions<>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContextOptions-1 'Microsoft\.EntityFrameworkCore\.DbContextOptions\`1')
+(or [Microsoft\.EntityFrameworkCore\.DbContextOptions](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContextOptions 'Microsoft\.EntityFrameworkCore\.DbContextOptions')) and pass it to a base constructor of [Microsoft\.EntityFrameworkCore\.DbContext](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContext 'Microsoft\.EntityFrameworkCore\.DbContext').
+
+The model is discovered by running a set of conventions over the entity classes found in the
+[Microsoft\.EntityFrameworkCore\.DbSet<>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1') properties on the derived context. To further configure the model that
+is discovered by convention, you can override the [Microsoft\.EntityFrameworkCore\.DbContext\.OnModelCreating\(Microsoft\.EntityFrameworkCore\.ModelBuilder\)](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbContext.OnModelCreating#Microsoft_EntityFrameworkCore_DbContext_OnModelCreating_Microsoft_EntityFrameworkCore_ModelBuilder_ 'Microsoft\.EntityFrameworkCore\.DbContext\.OnModelCreating\(Microsoft\.EntityFrameworkCore\.ModelBuilder\)') method.
+
+See [DbContext lifetime, configuration, and initialization](https://aka.ms/efcore-docs-dbcontext 'https://aka\.ms/efcore\-docs\-dbcontext'),
+[Querying data with EF Core](https://aka.ms/efcore-docs-query 'https://aka\.ms/efcore\-docs\-query'),
+[Changing tracking](https://aka.ms/efcore-docs-change-tracking 'https://aka\.ms/efcore\-docs\-change\-tracking'), and
+[Saving data with EF Core](https://aka.ms/efcore-docs-saving-data 'https://aka\.ms/efcore\-docs\-saving\-data') for more information and examples.
+
+| Constructors | |
+| :--- | :--- |
+| [Pf2eDbContext\(\)](Pf2eDbContext.Pf2eDbContext.md#Pf2e.Database.Pf2eDbContext.Pf2eDbContext() 'Pf2e\.Database\.Pf2eDbContext\.Pf2eDbContext\(\)') | Инициализирует новый экземпляр класса [Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext') без параметров\. |
+| [Pf2eDbContext\(DbContextOptions<Pf2eDbContext>\)](Pf2eDbContext.Pf2eDbContext.md#Pf2e.Database.Pf2eDbContext.Pf2eDbContext(Microsoft.EntityFrameworkCore.DbContextOptions_Pf2e.Database.Pf2eDbContext_) 'Pf2e\.Database\.Pf2eDbContext\.Pf2eDbContext\(Microsoft\.EntityFrameworkCore\.DbContextOptions\\)') | Инициализирует новый экземпляр класса [Pf2eDbContext](Pf2eDbContext.md 'Pf2e\.Database\.Pf2eDbContext') с указанными параметрами конфигурации базы данных\. |
+
+| Fields | |
+| :--- | :--- |
+| [NameLength](Pf2eDbContext.NameLength.md 'Pf2e\.Database\.Pf2eDbContext\.NameLength') | Длина названия сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [BindEntity<T>\(EntityTypeBuilder<T>\)](Pf2eDbContext.BindEntity_T_(EntityTypeBuilder_T_).md 'Pf2e\.Database\.Pf2eDbContext\.BindEntity\\(Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\\)') | Устанавливает связь между сущностью и её корневой сущностью\. |
+| [BindLocaleString<T>\(EntityTypeBuilder<T>, Expression<Func<T,LocaleString>>, bool\)](Pf2eDbContext.BindLocaleString_T_(EntityTypeBuilder_T_,Expression_Func_T,LocaleString__,bool).md 'Pf2e\.Database\.Pf2eDbContext\.BindLocaleString\\(Microsoft\.EntityFrameworkCore\.Metadata\.Builders\.EntityTypeBuilder\, System\.Linq\.Expressions\.Expression\\>, bool\)') | Устанавливает связь между сущностью и локализованной строкой\. |
+| [DefineBase\(ModelBuilder\)](Pf2eDbContext.DefineBase(ModelBuilder).md 'Pf2e\.Database\.Pf2eDbContext\.DefineBase\(Microsoft\.EntityFrameworkCore\.ModelBuilder\)') | Определяет базовые сущности и их связи\. |
+| [DefineCommon\(ModelBuilder\)](Pf2eDbContext.DefineCommon(ModelBuilder).md 'Pf2e\.Database\.Pf2eDbContext\.DefineCommon\(Microsoft\.EntityFrameworkCore\.ModelBuilder\)') | Определяет общие сущности и их связи\. |
+| [DefineMethods\(ModelBuilder\)](Pf2eDbContext.DefineMethods(ModelBuilder).md 'Pf2e\.Database\.Pf2eDbContext\.DefineMethods\(Microsoft\.EntityFrameworkCore\.ModelBuilder\)') | Определяет методы, которые будут использоваться в запросах LINQ\. |
+| [DefineStructure\(ModelBuilder\)](Pf2eDbContext.DefineStructure(ModelBuilder).md 'Pf2e\.Database\.Pf2eDbContext\.DefineStructure\(Microsoft\.EntityFrameworkCore\.ModelBuilder\)') | Определяет структуру сущностей и их связи\. |
+| [LocaleSearch\(LocaleString, string\)](Pf2eDbContext.LocaleSearch(LocaleString,string).md 'Pf2e\.Database\.Pf2eDbContext\.LocaleSearch\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleString, string\)') | CLR\-представление функции поиска в локализованной строке\. |
+| [LocaleSearchArray\(LocaleString, IEnumerable<string>\)](Pf2eDbContext.LocaleSearchArray(LocaleString,IEnumerable_string_).md 'Pf2e\.Database\.Pf2eDbContext\.LocaleSearchArray\(Pf2e\.Database\.Model\.Common\.I18n\.LocaleString, System\.Collections\.Generic\.IEnumerable\\)') | CLR\-представление функции поиска в локализованной строке с массивом значений для поиска\. |
+| [OnConfiguring\(DbContextOptionsBuilder\)](Pf2eDbContext.OnConfiguring(DbContextOptionsBuilder).md 'Pf2e\.Database\.Pf2eDbContext\.OnConfiguring\(Microsoft\.EntityFrameworkCore\.DbContextOptionsBuilder\)') | Override this method to configure the database \(and other options\) to be used for this context\. This method is called for each instance of the context that is created\. The base implementation does nothing\. |
+| [OnModelCreating\(ModelBuilder\)](Pf2eDbContext.OnModelCreating(ModelBuilder).md 'Pf2e\.Database\.Pf2eDbContext\.OnModelCreating\(Microsoft\.EntityFrameworkCore\.ModelBuilder\)') | Override this method to further configure the model that was discovered by convention from the entity types exposed in [Microsoft\.EntityFrameworkCore\.DbSet<>](https://docs.microsoft.com/en-us/dotnet/api/Microsoft.EntityFrameworkCore.DbSet-1 'Microsoft\.EntityFrameworkCore\.DbSet\`1') properties on your derived context\. The resulting model may be cached and re\-used for subsequent instances of your derived context\. |
diff --git a/Documentation/Pf2e.Database/Ritual.Area.md b/Documentation/Pf2e.Database/Ritual.Area.md
new file mode 100644
index 0000000..6d20f9f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Area.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Area Property
+
+Коллекция областей ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Structure.RitualRelation.RitualArea? Area { get; set; }
+```
+
+#### Property Value
+[RitualArea](RitualArea.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.CastTime.md b/Documentation/Pf2e.Database/Ritual.CastTime.md
new file mode 100644
index 0000000..9709e65
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.CastTime.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.CastTime Property
+
+Продолжительность ритуала в секундах\.
+
+```csharp
+public int CastTime { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Checks.md b/Documentation/Pf2e.Database/Ritual.Checks.md
new file mode 100644
index 0000000..33b37d0
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Checks.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Checks Property
+
+Коллекция проверок ритуала\.
+
+```csharp
+public System.Collections.Generic.ICollection Checks { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Cost.md b/Documentation/Pf2e.Database/Ritual.Cost.md
new file mode 100644
index 0000000..44e9cf8
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Cost.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Cost Property
+
+Строка, описывающая стоимость ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Cost { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Duration.md b/Documentation/Pf2e.Database/Ritual.Duration.md
new file mode 100644
index 0000000..a5933c6
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Duration.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Duration Property
+
+Время действия эффекта ритуала в секундах\.
+
+```csharp
+public int Duration { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Elements.md b/Documentation/Pf2e.Database/Ritual.Elements.md
new file mode 100644
index 0000000..c2d6790
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Elements.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Elements Property
+
+Элементы ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Enum.ElementEnum[] Elements { get; set; }
+```
+
+#### Property Value
+[ElementEnum](ElementEnum.md 'Pf2e\.Database\.Model\.Enum\.ElementEnum')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Entity.md b/Documentation/Pf2e.Database/Ritual.Entity.md
new file mode 100644
index 0000000..fe24b35
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Id.md b/Documentation/Pf2e.Database/Ritual.Id.md
new file mode 100644
index 0000000..4205c1d
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Level.md b/Documentation/Pf2e.Database/Ritual.Level.md
new file mode 100644
index 0000000..457bea5
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Level Property
+
+Уровень ритуала\.
+
+```csharp
+public int Level { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.PrimaryCheckRank.md b/Documentation/Pf2e.Database/Ritual.PrimaryCheckRank.md
new file mode 100644
index 0000000..1259c55
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.PrimaryCheckRank.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.PrimaryCheckRank Property
+
+Ранг основной проверки\.
+
+```csharp
+public Pf2e.Database.Model.Enum.TrainingRank PrimaryCheckRank { get; set; }
+```
+
+#### Property Value
+[TrainingRank](TrainingRank.md 'Pf2e\.Database\.Model\.Enum\.TrainingRank')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.PrimaryCheckSuffix.md b/Documentation/Pf2e.Database/Ritual.PrimaryCheckSuffix.md
new file mode 100644
index 0000000..7e43fea
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.PrimaryCheckSuffix.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.PrimaryCheckSuffix Property
+
+Дополнительная информация об основной проверки\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? PrimaryCheckSuffix { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Range.md b/Documentation/Pf2e.Database/Ritual.Range.md
new file mode 100644
index 0000000..d4768f6
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Range.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Range Property
+
+Дальнность ритуала в футах\.
+
+```csharp
+public int Range { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.RangeString.md b/Documentation/Pf2e.Database/Ritual.RangeString.md
new file mode 100644
index 0000000..de1f38b
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.RangeString.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.RangeString Property
+
+Строка, описывающая дальность ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? RangeString { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Requirement.md b/Documentation/Pf2e.Database/Ritual.Requirement.md
new file mode 100644
index 0000000..1742a02
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Requirement.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Requirement Property
+
+Строка, описывающая требования к ритуалу\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Requirement { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.SecondaryCasters.md b/Documentation/Pf2e.Database/Ritual.SecondaryCasters.md
new file mode 100644
index 0000000..6343c41
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.SecondaryCasters.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.SecondaryCasters Property
+
+Количество дополнительных заклинателей, необходимых для ритуала\.
+
+```csharp
+public int SecondaryCasters { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.SecondaryCastersMax.md b/Documentation/Pf2e.Database/Ritual.SecondaryCastersMax.md
new file mode 100644
index 0000000..ba25856
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.SecondaryCastersMax.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.SecondaryCastersMax Property
+
+Максимальное количество дополнительных заклинателей, необходимых для ритуала\.
+
+```csharp
+public int SecondaryCastersMax { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.SecondaryCastersSuffix.md b/Documentation/Pf2e.Database/Ritual.SecondaryCastersSuffix.md
new file mode 100644
index 0000000..935efca
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.SecondaryCastersSuffix.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.SecondaryCastersSuffix Property
+
+Дополнительная информация о дополнительных заклинателях\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? SecondaryCastersSuffix { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.Target.md b/Documentation/Pf2e.Database/Ritual.Target.md
new file mode 100644
index 0000000..dbbd85e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.Target.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
+
+## Ritual\.Target Property
+
+Строка, описывающая цель ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Target { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Ritual.md b/Documentation/Pf2e.Database/Ritual.md
new file mode 100644
index 0000000..2b334ec
--- /dev/null
+++ b/Documentation/Pf2e.Database/Ritual.md
@@ -0,0 +1,35 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Ritual Class
+
+Ритуал\.
+
+```csharp
+public class Ritual : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Ritual
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Area](Ritual.Area.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Area') | Коллекция областей ритуала\. |
+| [CastTime](Ritual.CastTime.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.CastTime') | Продолжительность ритуала в секундах\. |
+| [Checks](Ritual.Checks.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Checks') | Коллекция проверок ритуала\. |
+| [Cost](Ritual.Cost.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Cost') | Строка, описывающая стоимость ритуала\. |
+| [Duration](Ritual.Duration.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Duration') | Время действия эффекта ритуала в секундах\. |
+| [Elements](Ritual.Elements.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Elements') | Элементы ритуала\. |
+| [Entity](Ritual.Entity.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Entity') | Корневая сущность\. |
+| [Id](Ritual.Id.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Id') | Идентификатор сущности\. |
+| [Level](Ritual.Level.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Level') | Уровень ритуала\. |
+| [PrimaryCheckRank](Ritual.PrimaryCheckRank.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.PrimaryCheckRank') | Ранг основной проверки\. |
+| [PrimaryCheckSuffix](Ritual.PrimaryCheckSuffix.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.PrimaryCheckSuffix') | Дополнительная информация об основной проверки\. |
+| [Range](Ritual.Range.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Range') | Дальнность ритуала в футах\. |
+| [RangeString](Ritual.RangeString.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.RangeString') | Строка, описывающая дальность ритуала\. |
+| [Requirement](Ritual.Requirement.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Requirement') | Строка, описывающая требования к ритуалу\. |
+| [SecondaryCasters](Ritual.SecondaryCasters.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.SecondaryCasters') | Количество дополнительных заклинателей, необходимых для ритуала\. |
+| [SecondaryCastersMax](Ritual.SecondaryCastersMax.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.SecondaryCastersMax') | Максимальное количество дополнительных заклинателей, необходимых для ритуала\. |
+| [SecondaryCastersSuffix](Ritual.SecondaryCastersSuffix.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.SecondaryCastersSuffix') | Дополнительная информация о дополнительных заклинателях\. |
+| [Target](Ritual.Target.md 'Pf2e\.Database\.Model\.Structure\.Ritual\.Target') | Строка, описывающая цель ритуала\. |
diff --git a/Documentation/Pf2e.Database/RitualArea.Details.md b/Documentation/Pf2e.Database/RitualArea.Details.md
new file mode 100644
index 0000000..07e6c01
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualArea.Details.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualArea](RitualArea.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea')
+
+## RitualArea\.Details Property
+
+Описание области действия ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Details { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualArea.Ritual.md b/Documentation/Pf2e.Database/RitualArea.Ritual.md
new file mode 100644
index 0000000..59bb01d
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualArea.Ritual.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualArea](RitualArea.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea')
+
+## RitualArea\.Ritual Property
+
+Ритуал, к которому относится область действия\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Ritual Ritual { get; set; }
+```
+
+#### Property Value
+[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualArea.RitualId.md b/Documentation/Pf2e.Database/RitualArea.RitualId.md
new file mode 100644
index 0000000..16009a3
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualArea.RitualId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualArea](RitualArea.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea')
+
+## RitualArea\.RitualId Property
+
+Идентификатор ритуала, к которому относится область действия\.
+
+```csharp
+public int RitualId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualArea.Type.md b/Documentation/Pf2e.Database/RitualArea.Type.md
new file mode 100644
index 0000000..0a2738c
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualArea.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualArea](RitualArea.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea')
+
+## RitualArea\.Type Property
+
+Тип области действия ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Enum.SpellAreaType Type { get; set; }
+```
+
+#### Property Value
+[SpellAreaType](SpellAreaType.md 'Pf2e\.Database\.Model\.Enum\.SpellAreaType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualArea.md b/Documentation/Pf2e.Database/RitualArea.md
new file mode 100644
index 0000000..f9cdaa6
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualArea.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation')
+
+## RitualArea Class
+
+Область действия ритуала\.
+
+```csharp
+public class RitualArea
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 RitualArea
+
+| Properties | |
+| :--- | :--- |
+| [Details](RitualArea.Details.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea\.Details') | Описание области действия ритуала\. |
+| [Ritual](RitualArea.Ritual.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea\.Ritual') | Ритуал, к которому относится область действия\. |
+| [RitualId](RitualArea.RitualId.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea\.RitualId') | Идентификатор ритуала, к которому относится область действия\. |
+| [Type](RitualArea.Type.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualArea\.Type') | Тип области действия ритуала\. |
diff --git a/Documentation/Pf2e.Database/RitualCheck.Id.md b/Documentation/Pf2e.Database/RitualCheck.Id.md
new file mode 100644
index 0000000..421a003
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.Id Property
+
+Идентификатор проверки ритуала\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.IsPrimary.md b/Documentation/Pf2e.Database/RitualCheck.IsPrimary.md
new file mode 100644
index 0000000..fc60f8f
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.IsPrimary.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.IsPrimary Property
+
+Флаг, указывающий, является ли проверка основной для ритуала\.
+
+```csharp
+public bool IsPrimary { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.Rank.md b/Documentation/Pf2e.Database/RitualCheck.Rank.md
new file mode 100644
index 0000000..558ba39
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.Rank.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.Rank Property
+
+Ранг тренировки, связанной с проверкой ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Enum.TrainingRank Rank { get; set; }
+```
+
+#### Property Value
+[TrainingRank](TrainingRank.md 'Pf2e\.Database\.Model\.Enum\.TrainingRank')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.Ritual.md b/Documentation/Pf2e.Database/RitualCheck.Ritual.md
new file mode 100644
index 0000000..80b7ea7
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.Ritual.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.Ritual Property
+
+Ритуал, к которому относится проверка\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Ritual Ritual { get; set; }
+```
+
+#### Property Value
+[Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.RitualId.md b/Documentation/Pf2e.Database/RitualCheck.RitualId.md
new file mode 100644
index 0000000..cf2a7b5
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.RitualId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.RitualId Property
+
+Идентификатор ритуала, к которому относится проверка\.
+
+```csharp
+public int RitualId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.Training.md b/Documentation/Pf2e.Database/RitualCheck.Training.md
new file mode 100644
index 0000000..de8ea63
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.Training.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.Training Property
+
+Тренировка, связанная с проверкой ритуала\.
+
+```csharp
+public Pf2e.Database.Model.Common.Training? Training { get; set; }
+```
+
+#### Property Value
+[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.TrainingId.md b/Documentation/Pf2e.Database/RitualCheck.TrainingId.md
new file mode 100644
index 0000000..01073f0
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.TrainingId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.TrainingId Property
+
+Идентификатор тренировки, связанной с проверкой ритуала\.
+
+```csharp
+public System.Nullable TrainingId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.TrainingString.md b/Documentation/Pf2e.Database/RitualCheck.TrainingString.md
new file mode 100644
index 0000000..2f09f4e
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.TrainingString.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation').[RitualCheck](RitualCheck.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck')
+
+## RitualCheck\.TrainingString Property
+
+Дополнение к проверке\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? TrainingString { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/RitualCheck.md b/Documentation/Pf2e.Database/RitualCheck.md
new file mode 100644
index 0000000..5a9fbe0
--- /dev/null
+++ b/Documentation/Pf2e.Database/RitualCheck.md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation')
+
+## RitualCheck Class
+
+Проверка для ритуала\.
+
+```csharp
+public class RitualCheck
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 RitualCheck
+
+| Properties | |
+| :--- | :--- |
+| [Id](RitualCheck.Id.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.Id') | Идентификатор проверки ритуала\. |
+| [IsPrimary](RitualCheck.IsPrimary.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.IsPrimary') | Флаг, указывающий, является ли проверка основной для ритуала\. |
+| [Rank](RitualCheck.Rank.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.Rank') | Ранг тренировки, связанной с проверкой ритуала\. |
+| [Ritual](RitualCheck.Ritual.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.Ritual') | Ритуал, к которому относится проверка\. |
+| [RitualId](RitualCheck.RitualId.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.RitualId') | Идентификатор ритуала, к которому относится проверка\. |
+| [Training](RitualCheck.Training.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.Training') | Тренировка, связанная с проверкой ритуала\. |
+| [TrainingId](RitualCheck.TrainingId.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.TrainingId') | Идентификатор тренировки, связанной с проверкой ритуала\. |
+| [TrainingString](RitualCheck.TrainingString.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation\.RitualCheck\.TrainingString') | Дополнение к проверке\. |
diff --git a/Documentation/Pf2e.Database/Rule.Breadcrumbs.md b/Documentation/Pf2e.Database/Rule.Breadcrumbs.md
new file mode 100644
index 0000000..ff741d1
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.Breadcrumbs.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+
+## Rule\.Breadcrumbs Property
+
+Хлебные крошки для отображения в интерфейсе\.
+
+```csharp
+public string[] Breadcrumbs { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Rule.Children.md b/Documentation/Pf2e.Database/Rule.Children.md
new file mode 100644
index 0000000..30e3d1c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.Children.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+
+## Rule\.Children Property
+
+Дочерние правила\.
+
+```csharp
+public System.Collections.Generic.ICollection Children { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Rule.Entity.md b/Documentation/Pf2e.Database/Rule.Entity.md
new file mode 100644
index 0000000..74e502b
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+
+## Rule\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Rule.Id.md b/Documentation/Pf2e.Database/Rule.Id.md
new file mode 100644
index 0000000..bfc86e1
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+
+## Rule\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Rule.Order.md b/Documentation/Pf2e.Database/Rule.Order.md
new file mode 100644
index 0000000..6fd517f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.Order.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+
+## Rule\.Order Property
+
+Порядок отображения\.
+
+```csharp
+public int Order { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Rule.Parent.md b/Documentation/Pf2e.Database/Rule.Parent.md
new file mode 100644
index 0000000..361205c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.Parent.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+
+## Rule\.Parent Property
+
+Родительское правило\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Rule? Parent { get; set; }
+```
+
+#### Property Value
+[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Rule.ParentId.md b/Documentation/Pf2e.Database/Rule.ParentId.md
new file mode 100644
index 0000000..1c1add4
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.ParentId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Rule](Rule.md 'Pf2e\.Database\.Model\.Structure\.Rule')
+
+## Rule\.ParentId Property
+
+Идентификатор родительского правила\.
+
+```csharp
+public System.Nullable ParentId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Rule.md b/Documentation/Pf2e.Database/Rule.md
new file mode 100644
index 0000000..9262c09
--- /dev/null
+++ b/Documentation/Pf2e.Database/Rule.md
@@ -0,0 +1,24 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Rule Class
+
+Правило\.
+
+```csharp
+public class Rule : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Rule
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Breadcrumbs](Rule.Breadcrumbs.md 'Pf2e\.Database\.Model\.Structure\.Rule\.Breadcrumbs') | Хлебные крошки для отображения в интерфейсе\. |
+| [Children](Rule.Children.md 'Pf2e\.Database\.Model\.Structure\.Rule\.Children') | Дочерние правила\. |
+| [Entity](Rule.Entity.md 'Pf2e\.Database\.Model\.Structure\.Rule\.Entity') | Корневая сущность\. |
+| [Id](Rule.Id.md 'Pf2e\.Database\.Model\.Structure\.Rule\.Id') | Идентификатор сущности\. |
+| [Order](Rule.Order.md 'Pf2e\.Database\.Model\.Structure\.Rule\.Order') | Порядок отображения\. |
+| [Parent](Rule.Parent.md 'Pf2e\.Database\.Model\.Structure\.Rule\.Parent') | Родительское правило\. |
+| [ParentId](Rule.ParentId.md 'Pf2e\.Database\.Model\.Structure\.Rule\.ParentId') | Идентификатор родительского правила\. |
diff --git a/Documentation/Pf2e.Database/SizeEnum.md b/Documentation/Pf2e.Database/SizeEnum.md
new file mode 100644
index 0000000..7beda9d
--- /dev/null
+++ b/Documentation/Pf2e.Database/SizeEnum.md
@@ -0,0 +1,41 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## SizeEnum Enum
+
+Размер\.
+
+```csharp
+public enum SizeEnum
+```
+### Fields
+
+
+
+`Tiny` 0
+
+Крошечный размер\.
+
+
+
+`Small` 1
+
+Маленький размер\.
+
+
+
+`Medium` 2
+
+Средний размер\.
+
+
+
+`Large` 3
+
+Большой размер\.
+
+
+
+`Huge` 4
+
+Громадный размер\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Source.Category.md b/Documentation/Pf2e.Database/Source.Category.md
new file mode 100644
index 0000000..60fcbea
--- /dev/null
+++ b/Documentation/Pf2e.Database/Source.Category.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[Source](Source.md 'Pf2e\.Database\.Model\.Base\.Source\.Source')
+
+## Source\.Category Property
+
+Категория источника\.
+
+```csharp
+public Pf2e.Database.Model.Enum.SourceCategory Category { get; set; }
+```
+
+#### Property Value
+[SourceCategory](SourceCategory.md 'Pf2e\.Database\.Model\.Enum\.SourceCategory')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Source.EntitySources.md b/Documentation/Pf2e.Database/Source.EntitySources.md
new file mode 100644
index 0000000..6886682
--- /dev/null
+++ b/Documentation/Pf2e.Database/Source.EntitySources.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[Source](Source.md 'Pf2e\.Database\.Model\.Base\.Source\.Source')
+
+## Source\.EntitySources Property
+
+Связанные сущности\.
+
+```csharp
+public System.Collections.Generic.ICollection EntitySources { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[EntitySource](EntitySource.md 'Pf2e\.Database\.Model\.Base\.Source\.EntitySource')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Source.Id.md b/Documentation/Pf2e.Database/Source.Id.md
new file mode 100644
index 0000000..9daf931
--- /dev/null
+++ b/Documentation/Pf2e.Database/Source.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[Source](Source.md 'Pf2e\.Database\.Model\.Base\.Source\.Source')
+
+## Source\.Id Property
+
+Идентификатор источника\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Source.Name.md b/Documentation/Pf2e.Database/Source.Name.md
new file mode 100644
index 0000000..c1dc7e3
--- /dev/null
+++ b/Documentation/Pf2e.Database/Source.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[Source](Source.md 'Pf2e\.Database\.Model\.Base\.Source\.Source')
+
+## Source\.Name Property
+
+Отображаемое имя источника\.
+
+```csharp
+public string Name { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Source.ReleaseDate.md b/Documentation/Pf2e.Database/Source.ReleaseDate.md
new file mode 100644
index 0000000..33af5cb
--- /dev/null
+++ b/Documentation/Pf2e.Database/Source.ReleaseDate.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source').[Source](Source.md 'Pf2e\.Database\.Model\.Base\.Source\.Source')
+
+## Source\.ReleaseDate Property
+
+Дата выхода источника\.
+
+```csharp
+public System.Nullable ReleaseDate { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.DateOnly](https://docs.microsoft.com/en-us/dotnet/api/System.DateOnly 'System\.DateOnly')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Source.md b/Documentation/Pf2e.Database/Source.md
new file mode 100644
index 0000000..c5a6902
--- /dev/null
+++ b/Documentation/Pf2e.Database/Source.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source')
+
+## Source Class
+
+Источник сущности\.
+
+```csharp
+public class Source
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Source
+
+| Properties | |
+| :--- | :--- |
+| [Category](Source.Category.md 'Pf2e\.Database\.Model\.Base\.Source\.Source\.Category') | Категория источника\. |
+| [EntitySources](Source.EntitySources.md 'Pf2e\.Database\.Model\.Base\.Source\.Source\.EntitySources') | Связанные сущности\. |
+| [Id](Source.Id.md 'Pf2e\.Database\.Model\.Base\.Source\.Source\.Id') | Идентификатор источника\. |
+| [Name](Source.Name.md 'Pf2e\.Database\.Model\.Base\.Source\.Source\.Name') | Отображаемое имя источника\. |
+| [ReleaseDate](Source.ReleaseDate.md 'Pf2e\.Database\.Model\.Base\.Source\.Source\.ReleaseDate') | Дата выхода источника\. |
diff --git a/Documentation/Pf2e.Database/SourceCategory.md b/Documentation/Pf2e.Database/SourceCategory.md
new file mode 100644
index 0000000..827ba1e
--- /dev/null
+++ b/Documentation/Pf2e.Database/SourceCategory.md
@@ -0,0 +1,53 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## SourceCategory Enum
+
+Перечисление категорий источников\.
+
+```csharp
+public enum SourceCategory
+```
+### Fields
+
+
+
+`Rulebooks` 0
+
+Неизвестная категория источника\.
+
+
+
+`AdventurePaths` 1
+
+Серия приключений\.
+
+
+
+`LostOmens` 2
+
+Lost Omens
+
+
+
+`Adventures` 3
+
+Приключение\.
+
+
+
+`Comics` 4
+
+Комиксы\.
+
+
+
+`BlogPosts` 5
+
+Блог\-посты\.
+
+
+
+`Society` 6
+
+Сообщество\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Actions.md b/Documentation/Pf2e.Database/Spell.Actions.md
new file mode 100644
index 0000000..e9fe6a2
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Actions.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Actions Property
+
+Количество действий, необходимых для применения заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Enum.ActionEnum Actions { get; set; }
+```
+
+#### Property Value
+[ActionEnum](ActionEnum.md 'Pf2e\.Database\.Model\.Enum\.ActionEnum')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Cost.md b/Documentation/Pf2e.Database/Spell.Cost.md
new file mode 100644
index 0000000..0641ac6
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Cost.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Cost Property
+
+Стоимость заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Cost { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Duration.md b/Documentation/Pf2e.Database/Spell.Duration.md
new file mode 100644
index 0000000..8eadbc3
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Duration.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Duration Property
+
+Время длительности заклинания в секундах\.
+
+```csharp
+public System.Nullable Duration { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Elements.md b/Documentation/Pf2e.Database/Spell.Elements.md
new file mode 100644
index 0000000..633758a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Elements.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Elements Property
+
+Элементы заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Enum.ElementEnum[] Elements { get; set; }
+```
+
+#### Property Value
+[ElementEnum](ElementEnum.md 'Pf2e\.Database\.Model\.Enum\.ElementEnum')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Entity.md b/Documentation/Pf2e.Database/Spell.Entity.md
new file mode 100644
index 0000000..0cdac05
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Id.md b/Documentation/Pf2e.Database/Spell.Id.md
new file mode 100644
index 0000000..7a1c1f4
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.IsFocus.md b/Documentation/Pf2e.Database/Spell.IsFocus.md
new file mode 100644
index 0000000..db7c1b2
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.IsFocus.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.IsFocus Property
+
+Является ли заклинание фокусом\.
+
+```csharp
+public bool IsFocus { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Level.md b/Documentation/Pf2e.Database/Spell.Level.md
new file mode 100644
index 0000000..85d967a
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Level.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Level Property
+
+Уровень заклинания\.
+
+```csharp
+public int Level { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Range.md b/Documentation/Pf2e.Database/Spell.Range.md
new file mode 100644
index 0000000..f12879e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Range.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Range Property
+
+Дальность заклинания в футах\.
+
+```csharp
+public int Range { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Requirement.md b/Documentation/Pf2e.Database/Spell.Requirement.md
new file mode 100644
index 0000000..8de377c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Requirement.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Requirement Property
+
+Требования к заклинанию\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Requirement { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.SpellAreas.md b/Documentation/Pf2e.Database/Spell.SpellAreas.md
new file mode 100644
index 0000000..931fe16
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.SpellAreas.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.SpellAreas Property
+
+Коллекция области заклинания\.
+
+```csharp
+public System.Collections.Generic.ICollection SpellAreas { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[SpellArea](SpellArea.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.SpellDefenses.md b/Documentation/Pf2e.Database/Spell.SpellDefenses.md
new file mode 100644
index 0000000..9f898b2
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.SpellDefenses.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.SpellDefenses Property
+
+Коллекция защиты от заклинания\.
+
+```csharp
+public System.Collections.Generic.ICollection SpellDefenses { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Target.md b/Documentation/Pf2e.Database/Spell.Target.md
new file mode 100644
index 0000000..add9595
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Target.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Target Property
+
+Цель заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Target { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Traditions.md b/Documentation/Pf2e.Database/Spell.Traditions.md
new file mode 100644
index 0000000..94c04fb
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Traditions.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Traditions Property
+
+Традиции заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Enum.SpellTradition[] Traditions { get; set; }
+```
+
+#### Property Value
+[SpellTradition](SpellTradition.md 'Pf2e\.Database\.Model\.Enum\.SpellTradition')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.Trigger.md b/Documentation/Pf2e.Database/Spell.Trigger.md
new file mode 100644
index 0000000..ca4df1c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.Trigger.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
+
+## Spell\.Trigger Property
+
+Триггер заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Trigger { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Spell.md b/Documentation/Pf2e.Database/Spell.md
new file mode 100644
index 0000000..f0bb9f5
--- /dev/null
+++ b/Documentation/Pf2e.Database/Spell.md
@@ -0,0 +1,32 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Spell Class
+
+Заклинание\.
+
+```csharp
+public class Spell : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Spell
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Actions](Spell.Actions.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Actions') | Количество действий, необходимых для применения заклинания\. |
+| [Cost](Spell.Cost.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Cost') | Стоимость заклинания\. |
+| [Duration](Spell.Duration.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Duration') | Время длительности заклинания в секундах\. |
+| [Elements](Spell.Elements.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Elements') | Элементы заклинания\. |
+| [Entity](Spell.Entity.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Entity') | Корневая сущность\. |
+| [Id](Spell.Id.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Id') | Идентификатор сущности\. |
+| [IsFocus](Spell.IsFocus.md 'Pf2e\.Database\.Model\.Structure\.Spell\.IsFocus') | Является ли заклинание фокусом\. |
+| [Level](Spell.Level.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Level') | Уровень заклинания\. |
+| [Range](Spell.Range.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Range') | Дальность заклинания в футах\. |
+| [Requirement](Spell.Requirement.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Requirement') | Требования к заклинанию\. |
+| [SpellAreas](Spell.SpellAreas.md 'Pf2e\.Database\.Model\.Structure\.Spell\.SpellAreas') | Коллекция области заклинания\. |
+| [SpellDefenses](Spell.SpellDefenses.md 'Pf2e\.Database\.Model\.Structure\.Spell\.SpellDefenses') | Коллекция защиты от заклинания\. |
+| [Target](Spell.Target.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Target') | Цель заклинания\. |
+| [Traditions](Spell.Traditions.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Traditions') | Традиции заклинания\. |
+| [Trigger](Spell.Trigger.md 'Pf2e\.Database\.Model\.Structure\.Spell\.Trigger') | Триггер заклинания\. |
diff --git a/Documentation/Pf2e.Database/SpellArea.Details.md b/Documentation/Pf2e.Database/SpellArea.Details.md
new file mode 100644
index 0000000..7969869
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellArea.Details.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellArea](SpellArea.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea')
+
+## SpellArea\.Details Property
+
+Описание области заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString? Details { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellArea.Id.md b/Documentation/Pf2e.Database/SpellArea.Id.md
new file mode 100644
index 0000000..b05c5b5
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellArea.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellArea](SpellArea.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea')
+
+## SpellArea\.Id Property
+
+Идентификатор области заклинания\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellArea.Spell.md b/Documentation/Pf2e.Database/SpellArea.Spell.md
new file mode 100644
index 0000000..323aef3
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellArea.Spell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellArea](SpellArea.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea')
+
+## SpellArea\.Spell Property
+
+Заклинание, к которому относится область\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell Spell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellArea.SpellId.md b/Documentation/Pf2e.Database/SpellArea.SpellId.md
new file mode 100644
index 0000000..e558230
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellArea.SpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellArea](SpellArea.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea')
+
+## SpellArea\.SpellId Property
+
+Идентификатор заклинания, к которому относится область\.
+
+```csharp
+public int SpellId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellArea.Type.md b/Documentation/Pf2e.Database/SpellArea.Type.md
new file mode 100644
index 0000000..081d1fa
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellArea.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellArea](SpellArea.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea')
+
+## SpellArea\.Type Property
+
+Тип области заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Enum.SpellAreaType Type { get; set; }
+```
+
+#### Property Value
+[SpellAreaType](SpellAreaType.md 'Pf2e\.Database\.Model\.Enum\.SpellAreaType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellArea.md b/Documentation/Pf2e.Database/SpellArea.md
new file mode 100644
index 0000000..4d615aa
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellArea.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation')
+
+## SpellArea Class
+
+Область заклинания\.
+
+```csharp
+public class SpellArea
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 SpellArea
+
+| Properties | |
+| :--- | :--- |
+| [Details](SpellArea.Details.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea\.Details') | Описание области заклинания\. |
+| [Id](SpellArea.Id.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea\.Id') | Идентификатор области заклинания\. |
+| [Spell](SpellArea.Spell.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea\.Spell') | Заклинание, к которому относится область\. |
+| [SpellId](SpellArea.SpellId.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea\.SpellId') | Идентификатор заклинания, к которому относится область\. |
+| [Type](SpellArea.Type.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellArea\.Type') | Тип области заклинания\. |
diff --git a/Documentation/Pf2e.Database/SpellAreaType.md b/Documentation/Pf2e.Database/SpellAreaType.md
new file mode 100644
index 0000000..f92c3db
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellAreaType.md
@@ -0,0 +1,77 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## SpellAreaType Enum
+
+Тип области заклинания\.
+
+```csharp
+public enum SpellAreaType
+```
+### Fields
+
+
+
+`Burst` 0
+
+Взрыв\.
+
+
+
+`Emanation` 1
+
+Эманация\.
+
+
+
+`Cone` 2
+
+Конус\.
+
+
+
+`Line` 3
+
+Линия\.
+
+
+
+`Square` 4
+
+Квадрат\.
+
+
+
+`Cube` 5
+
+Куб\.
+
+
+
+`Cylinder` 6
+
+Цилиндр\.
+
+
+
+`Varies` 7
+
+Варьируемое\.
+
+
+
+`Cuboid` 8
+
+Параллелипипед\.
+
+
+
+`Circle` 9
+
+Круг\.
+
+
+
+`Other` 10
+
+Иное\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.ApplyMod.md b/Documentation/Pf2e.Database/SpellDamage.ApplyMod.md
new file mode 100644
index 0000000..3091aee
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.ApplyMod.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.ApplyMod Property
+
+Применяется ли модификатор к урону заклинания\.
+
+```csharp
+public System.Nullable ApplyMod { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Category.md b/Documentation/Pf2e.Database/SpellDamage.Category.md
new file mode 100644
index 0000000..453c3dc
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Category.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Category Property
+
+Категория урона заклинания, если применимо\.
+
+```csharp
+public System.Nullable Category { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[SpellDamageCategory](SpellDamageCategory.md 'Pf2e\.Database\.Model\.Enum\.SpellDamageCategory')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Formula.md b/Documentation/Pf2e.Database/SpellDamage.Formula.md
new file mode 100644
index 0000000..fb0c3b5
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Formula.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Formula Property
+
+Формула урона заклинания\.
+
+```csharp
+public string Formula { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Id.md b/Documentation/Pf2e.Database/SpellDamage.Id.md
new file mode 100644
index 0000000..c22c770
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Id Property
+
+Идентификатор урона заклинания\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Key.md b/Documentation/Pf2e.Database/SpellDamage.Key.md
new file mode 100644
index 0000000..396cfb1
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Key.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Key Property
+
+Уровень заклинания, к которому относится урон\.
+
+```csharp
+public string Key { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Kinds.md b/Documentation/Pf2e.Database/SpellDamage.Kinds.md
new file mode 100644
index 0000000..8ba5c58
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Kinds.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Kinds Property
+
+Тип урона заклинания\.
+
+```csharp
+public Pf2e.Database.Model.Enum.SpellDamageKinds Kinds { get; set; }
+```
+
+#### Property Value
+[SpellDamageKinds](SpellDamageKinds.md 'Pf2e\.Database\.Model\.Enum\.SpellDamageKinds')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Materials.md b/Documentation/Pf2e.Database/SpellDamage.Materials.md
new file mode 100644
index 0000000..e36801c
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Materials.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Materials Property
+
+Материалы, необходимые для заклинания, если применимо\.
+
+```csharp
+public string? Materials { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Spell.md b/Documentation/Pf2e.Database/SpellDamage.Spell.md
new file mode 100644
index 0000000..e3bc03d
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Spell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Spell Property
+
+Заклинание, к которому относится урон\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell Spell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.SpellId.md b/Documentation/Pf2e.Database/SpellDamage.SpellId.md
new file mode 100644
index 0000000..b9776f5
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.SpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.SpellId Property
+
+Идентификатор заклинания, к которому относится урон\.
+
+```csharp
+public int SpellId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.Type.md b/Documentation/Pf2e.Database/SpellDamage.Type.md
new file mode 100644
index 0000000..e8d8e56
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDamage](SpellDamage.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage')
+
+## SpellDamage\.Type Property
+
+Тип урона заклинания, если применимо \(например, "fire", "cold" и т\.д\.\)\.
+
+```csharp
+public string Type { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamage.md b/Documentation/Pf2e.Database/SpellDamage.md
new file mode 100644
index 0000000..313419c
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamage.md
@@ -0,0 +1,25 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation')
+
+## SpellDamage Class
+
+Урон заклинания\.
+
+```csharp
+public class SpellDamage
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 SpellDamage
+
+| Properties | |
+| :--- | :--- |
+| [ApplyMod](SpellDamage.ApplyMod.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.ApplyMod') | Применяется ли модификатор к урону заклинания\. |
+| [Category](SpellDamage.Category.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Category') | Категория урона заклинания, если применимо\. |
+| [Formula](SpellDamage.Formula.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Formula') | Формула урона заклинания\. |
+| [Id](SpellDamage.Id.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Id') | Идентификатор урона заклинания\. |
+| [Key](SpellDamage.Key.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Key') | Уровень заклинания, к которому относится урон\. |
+| [Kinds](SpellDamage.Kinds.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Kinds') | Тип урона заклинания\. |
+| [Materials](SpellDamage.Materials.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Materials') | Материалы, необходимые для заклинания, если применимо\. |
+| [Spell](SpellDamage.Spell.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Spell') | Заклинание, к которому относится урон\. |
+| [SpellId](SpellDamage.SpellId.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.SpellId') | Идентификатор заклинания, к которому относится урон\. |
+| [Type](SpellDamage.Type.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDamage\.Type') | Тип урона заклинания, если применимо \(например, "fire", "cold" и т\.д\.\)\. |
diff --git a/Documentation/Pf2e.Database/SpellDamageCategory.md b/Documentation/Pf2e.Database/SpellDamageCategory.md
new file mode 100644
index 0000000..fda1f1f
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamageCategory.md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## SpellDamageCategory Enum
+
+Тип урона заклинания\.
+
+```csharp
+public enum SpellDamageCategory
+```
+### Fields
+
+
+
+`Normal` 0
+
+Обычный урон\.
+
+
+
+`Persistent` 1
+
+Продолжительный урон\.
+
+
+
+`Splash` 2
+
+Брызги\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDamageKinds.md b/Documentation/Pf2e.Database/SpellDamageKinds.md
new file mode 100644
index 0000000..ca62907
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDamageKinds.md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## SpellDamageKinds Enum
+
+Тип урона заклинания\.
+
+```csharp
+public enum SpellDamageKinds
+```
+### Fields
+
+
+
+`Damage` 0
+
+Урон\.
+
+
+
+`Healing` 1
+
+Исцеление\.
+
+
+
+`Any` 2
+
+Любое\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDefense.Id.md b/Documentation/Pf2e.Database/SpellDefense.Id.md
new file mode 100644
index 0000000..a23a53f
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDefense.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense')
+
+## SpellDefense\.Id Property
+
+Идентификатор защиты от заклинания\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDefense.IsBasic.md b/Documentation/Pf2e.Database/SpellDefense.IsBasic.md
new file mode 100644
index 0000000..b3b4da5
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDefense.IsBasic.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense')
+
+## SpellDefense\.IsBasic Property
+
+Флаг, указывающий, является ли защита базовой\.
+
+```csharp
+public System.Nullable IsBasic { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDefense.IsPassive.md b/Documentation/Pf2e.Database/SpellDefense.IsPassive.md
new file mode 100644
index 0000000..204fd47
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDefense.IsPassive.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense')
+
+## SpellDefense\.IsPassive Property
+
+Флаг, указывающий, является ли защита от заклинания пассивной \(например, для заклинаний, которые не требуют активного действия для защиты\)\.
+
+```csharp
+public bool IsPassive { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDefense.Spell.md b/Documentation/Pf2e.Database/SpellDefense.Spell.md
new file mode 100644
index 0000000..43c78bd
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDefense.Spell.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense')
+
+## SpellDefense\.Spell Property
+
+Заклинание, к которому относится защита\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Spell Spell { get; set; }
+```
+
+#### Property Value
+[Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDefense.SpellId.md b/Documentation/Pf2e.Database/SpellDefense.SpellId.md
new file mode 100644
index 0000000..59b1cb5
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDefense.SpellId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense')
+
+## SpellDefense\.SpellId Property
+
+Идентификатор заклинания, к которому относится защита\.
+
+```csharp
+public int SpellId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDefense.Statistic.md b/Documentation/Pf2e.Database/SpellDefense.Statistic.md
new file mode 100644
index 0000000..0fa5693
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDefense.Statistic.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation').[SpellDefense](SpellDefense.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense')
+
+## SpellDefense\.Statistic Property
+
+Статистика, используемая для защиты от заклинания \(например, "Fortitude", "Reflex", "Will"\)\.
+
+```csharp
+public string Statistic { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellDefense.md b/Documentation/Pf2e.Database/SpellDefense.md
new file mode 100644
index 0000000..375d8f4
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellDefense.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation')
+
+## SpellDefense Class
+
+Защита от заклинания\.
+
+```csharp
+public class SpellDefense
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 SpellDefense
+
+| Properties | |
+| :--- | :--- |
+| [Id](SpellDefense.Id.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense\.Id') | Идентификатор защиты от заклинания\. |
+| [IsBasic](SpellDefense.IsBasic.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense\.IsBasic') | Флаг, указывающий, является ли защита базовой\. |
+| [IsPassive](SpellDefense.IsPassive.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense\.IsPassive') | Флаг, указывающий, является ли защита от заклинания пассивной \(например, для заклинаний, которые не требуют активного действия для защиты\)\. |
+| [Spell](SpellDefense.Spell.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense\.Spell') | Заклинание, к которому относится защита\. |
+| [SpellId](SpellDefense.SpellId.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense\.SpellId') | Идентификатор заклинания, к которому относится защита\. |
+| [Statistic](SpellDefense.Statistic.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation\.SpellDefense\.Statistic') | Статистика, используемая для защиты от заклинания \(например, "Fortitude", "Reflex", "Will"\)\. |
diff --git a/Documentation/Pf2e.Database/SpellTradition.md b/Documentation/Pf2e.Database/SpellTradition.md
new file mode 100644
index 0000000..09346a4
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellTradition.md
@@ -0,0 +1,53 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## SpellTradition Enum
+
+Традиция заклинания\.
+
+```csharp
+public enum SpellTradition
+```
+### Fields
+
+
+
+`None` 0
+
+Без традиции\.
+
+
+
+`Divine` 1
+
+Сакральная традиция\.
+
+
+
+`Occult` 2
+
+Оккультная традиция\.
+
+
+
+`Arcane` 3
+
+Арканная традиция\.
+
+
+
+`Primal` 4
+
+Примальная традиция\.
+
+
+
+`Elemental` 5
+
+Элементная традиция\.
+
+
+
+`All` 6
+
+Все традиции\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SpellcastingType.md b/Documentation/Pf2e.Database/SpellcastingType.md
new file mode 100644
index 0000000..4d61216
--- /dev/null
+++ b/Documentation/Pf2e.Database/SpellcastingType.md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## SpellcastingType Enum
+
+Перечисление типа применения заклинаний\.
+
+```csharp
+public enum SpellcastingType
+```
+### Fields
+
+
+
+`None` 0
+
+Не применяет заклинания\.
+
+
+
+`Prepared` 1
+
+Заготавливаемое заклинательство\.
+
+
+
+`Spontaneous` 2
+
+Спонтанное заклинательство\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.Additional.md b/Documentation/Pf2e.Database/Subclass.Additional.md
new file mode 100644
index 0000000..481ff45
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.Additional.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.Additional Property
+
+Дополнительная информация\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString Additional { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.Entities.md b/Documentation/Pf2e.Database/Subclass.Entities.md
new file mode 100644
index 0000000..86d0b0e
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.Entities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.Entities Property
+
+Коллекция сущностей, связанных с подклассом\.
+
+```csharp
+public System.Collections.Generic.ICollection Entities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.Entity.md b/Documentation/Pf2e.Database/Subclass.Entity.md
new file mode 100644
index 0000000..c1b16ee
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.Extra.md b/Documentation/Pf2e.Database/Subclass.Extra.md
new file mode 100644
index 0000000..163eb5f
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.Extra.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.Extra Property
+
+Дополнительная информация в формате JSON\.
+
+```csharp
+public string Extra { get; set; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.Group.md b/Documentation/Pf2e.Database/Subclass.Group.md
new file mode 100644
index 0000000..2088897
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.Group.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.Group Property
+
+Группа подклассов\.
+
+```csharp
+public Pf2e.Database.Model.Structure.SubclassGroup Group { get; set; }
+```
+
+#### Property Value
+[SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.GroupId.md b/Documentation/Pf2e.Database/Subclass.GroupId.md
new file mode 100644
index 0000000..6b8b197
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.GroupId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.GroupId Property
+
+Идетификатор группы подклассов\.
+
+```csharp
+public int GroupId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.Id.md b/Documentation/Pf2e.Database/Subclass.Id.md
new file mode 100644
index 0000000..7595d01
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.Trainings.md b/Documentation/Pf2e.Database/Subclass.Trainings.md
new file mode 100644
index 0000000..f49af17
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.Trainings.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
+
+## Subclass\.Trainings Property
+
+Коллекция тренировок, связанных с подклассом\.
+
+```csharp
+public System.Collections.Generic.ICollection Trainings { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Subclass.md b/Documentation/Pf2e.Database/Subclass.md
new file mode 100644
index 0000000..6d3edbb
--- /dev/null
+++ b/Documentation/Pf2e.Database/Subclass.md
@@ -0,0 +1,25 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Subclass Class
+
+Подкласс\.
+
+```csharp
+public class Subclass : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Subclass
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Additional](Subclass.Additional.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.Additional') | Дополнительная информация\. |
+| [Entities](Subclass.Entities.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.Entities') | Коллекция сущностей, связанных с подклассом\. |
+| [Entity](Subclass.Entity.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.Entity') | Корневая сущность\. |
+| [Extra](Subclass.Extra.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.Extra') | Дополнительная информация в формате JSON\. |
+| [Group](Subclass.Group.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.Group') | Группа подклассов\. |
+| [GroupId](Subclass.GroupId.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.GroupId') | Идетификатор группы подклассов\. |
+| [Id](Subclass.Id.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.Id') | Идентификатор сущности\. |
+| [Trainings](Subclass.Trainings.md 'Pf2e\.Database\.Model\.Structure\.Subclass\.Trainings') | Коллекция тренировок, связанных с подклассом\. |
diff --git a/Documentation/Pf2e.Database/SubclassGroup.Class.md b/Documentation/Pf2e.Database/SubclassGroup.Class.md
new file mode 100644
index 0000000..1e9201d
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassGroup.Class.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
+
+## SubclassGroup\.Class Property
+
+Класс, к которому относится группа подклассов\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Class? Class { get; set; }
+```
+
+#### Property Value
+[Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassGroup.ClassId.md b/Documentation/Pf2e.Database/SubclassGroup.ClassId.md
new file mode 100644
index 0000000..401c7b2
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassGroup.ClassId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
+
+## SubclassGroup\.ClassId Property
+
+Идентификатор класса\.
+
+```csharp
+public System.Nullable ClassId { get; set; }
+```
+
+#### Property Value
+[System\.Nullable<](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Nullable-1 'System\.Nullable\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassGroup.Entity.md b/Documentation/Pf2e.Database/SubclassGroup.Entity.md
new file mode 100644
index 0000000..f651207
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassGroup.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
+
+## SubclassGroup\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassGroup.Id.md b/Documentation/Pf2e.Database/SubclassGroup.Id.md
new file mode 100644
index 0000000..dfb7def
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassGroup.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
+
+## SubclassGroup\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassGroup.Subclasses.md b/Documentation/Pf2e.Database/SubclassGroup.Subclasses.md
new file mode 100644
index 0000000..81cda6d
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassGroup.Subclasses.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[SubclassGroup](SubclassGroup.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
+
+## SubclassGroup\.Subclasses Property
+
+Коллекция подклассов, относящихся к этой группе\.
+
+```csharp
+public System.Collections.Generic.ICollection Subclasses { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassGroup.md b/Documentation/Pf2e.Database/SubclassGroup.md
new file mode 100644
index 0000000..14c5347
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassGroup.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## SubclassGroup Class
+
+Группа подклассов\.
+
+```csharp
+public class SubclassGroup : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 SubclassGroup
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Class](SubclassGroup.Class.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup\.Class') | Класс, к которому относится группа подклассов\. |
+| [ClassId](SubclassGroup.ClassId.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup\.ClassId') | Идентификатор класса\. |
+| [Entity](SubclassGroup.Entity.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup\.Entity') | Корневая сущность\. |
+| [Id](SubclassGroup.Id.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup\.Id') | Идентификатор сущности\. |
+| [Subclasses](SubclassGroup.Subclasses.md 'Pf2e\.Database\.Model\.Structure\.SubclassGroup\.Subclasses') | Коллекция подклассов, относящихся к этой группе\. |
diff --git a/Documentation/Pf2e.Database/SubclassProvidedEntities.EntityId.md b/Documentation/Pf2e.Database/SubclassProvidedEntities.EntityId.md
new file mode 100644
index 0000000..473d062
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassProvidedEntities.EntityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassProvidedEntities](SubclassProvidedEntities.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassProvidedEntities')
+
+## SubclassProvidedEntities\.EntityId Property
+
+Идентификатор сущности, предоставляемой подклассом\.
+
+```csharp
+public int EntityId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassProvidedEntities.SubclassId.md b/Documentation/Pf2e.Database/SubclassProvidedEntities.SubclassId.md
new file mode 100644
index 0000000..58f57b0
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassProvidedEntities.SubclassId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassProvidedEntities](SubclassProvidedEntities.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassProvidedEntities')
+
+## SubclassProvidedEntities\.SubclassId Property
+
+Идентификатор подкласса, к которому относится сущность\.
+
+```csharp
+public int SubclassId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassProvidedEntities.md b/Documentation/Pf2e.Database/SubclassProvidedEntities.md
new file mode 100644
index 0000000..7b1922a
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassProvidedEntities.md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation')
+
+## SubclassProvidedEntities Class
+
+Элемент, связывающий сущность с подклассом\.
+
+```csharp
+public class SubclassProvidedEntities
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 SubclassProvidedEntities
+
+| Properties | |
+| :--- | :--- |
+| [EntityId](SubclassProvidedEntities.EntityId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassProvidedEntities\.EntityId') | Идентификатор сущности, предоставляемой подклассом\. |
+| [SubclassId](SubclassProvidedEntities.SubclassId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassProvidedEntities\.SubclassId') | Идентификатор подкласса, к которому относится сущность\. |
diff --git a/Documentation/Pf2e.Database/SubclassTrainings.Id.md b/Documentation/Pf2e.Database/SubclassTrainings.Id.md
new file mode 100644
index 0000000..a3b05c6
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassTrainings.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings')
+
+## SubclassTrainings\.Id Property
+
+Идентификатор связи между подклассом и тренировкой\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassTrainings.Rank.md b/Documentation/Pf2e.Database/SubclassTrainings.Rank.md
new file mode 100644
index 0000000..b99bf76
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassTrainings.Rank.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings')
+
+## SubclassTrainings\.Rank Property
+
+Ранг тренировки для данного подкласса\.
+
+```csharp
+public Pf2e.Database.Model.Enum.TrainingRank Rank { get; set; }
+```
+
+#### Property Value
+[TrainingRank](TrainingRank.md 'Pf2e\.Database\.Model\.Enum\.TrainingRank')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassTrainings.Subclass.md b/Documentation/Pf2e.Database/SubclassTrainings.Subclass.md
new file mode 100644
index 0000000..86db474
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassTrainings.Subclass.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings')
+
+## SubclassTrainings\.Subclass Property
+
+Подкласс, к которому относится тренировка\.
+
+```csharp
+public Pf2e.Database.Model.Structure.Subclass Subclass { get; set; }
+```
+
+#### Property Value
+[Subclass](Subclass.md 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassTrainings.SubclassId.md b/Documentation/Pf2e.Database/SubclassTrainings.SubclassId.md
new file mode 100644
index 0000000..41bc00f
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassTrainings.SubclassId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings')
+
+## SubclassTrainings\.SubclassId Property
+
+Идентификатор подкласса, к которому относится тренировка\.
+
+```csharp
+public int SubclassId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassTrainings.Training.md b/Documentation/Pf2e.Database/SubclassTrainings.Training.md
new file mode 100644
index 0000000..b6dca36
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassTrainings.Training.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings')
+
+## SubclassTrainings\.Training Property
+
+Тренировка, связанная с подклассом\.
+
+```csharp
+public Pf2e.Database.Model.Common.Training Training { get; set; }
+```
+
+#### Property Value
+[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassTrainings.TrainingId.md b/Documentation/Pf2e.Database/SubclassTrainings.TrainingId.md
new file mode 100644
index 0000000..53743c1
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassTrainings.TrainingId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation').[SubclassTrainings](SubclassTrainings.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings')
+
+## SubclassTrainings\.TrainingId Property
+
+Идентификатор тренировки, связанной с подклассом\.
+
+```csharp
+public int TrainingId { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/SubclassTrainings.md b/Documentation/Pf2e.Database/SubclassTrainings.md
new file mode 100644
index 0000000..53e4069
--- /dev/null
+++ b/Documentation/Pf2e.Database/SubclassTrainings.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation')
+
+## SubclassTrainings Class
+
+Связь между подклассами и тренировками\.
+
+```csharp
+public class SubclassTrainings
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 SubclassTrainings
+
+| Properties | |
+| :--- | :--- |
+| [Id](SubclassTrainings.Id.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings\.Id') | Идентификатор связи между подклассом и тренировкой\. |
+| [Rank](SubclassTrainings.Rank.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings\.Rank') | Ранг тренировки для данного подкласса\. |
+| [Subclass](SubclassTrainings.Subclass.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings\.Subclass') | Подкласс, к которому относится тренировка\. |
+| [SubclassId](SubclassTrainings.SubclassId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings\.SubclassId') | Идентификатор подкласса, к которому относится тренировка\. |
+| [Training](SubclassTrainings.Training.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings\.Training') | Тренировка, связанная с подклассом\. |
+| [TrainingId](SubclassTrainings.TrainingId.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.SubclassTrainings\.TrainingId') | Идентификатор тренировки, связанной с подклассом\. |
diff --git a/Documentation/Pf2e.Database/Training.Id.md b/Documentation/Pf2e.Database/Training.Id.md
new file mode 100644
index 0000000..0a5bdf5
--- /dev/null
+++ b/Documentation/Pf2e.Database/Training.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common').[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')
+
+## Training\.Id Property
+
+Идентификатор\.
+
+```csharp
+public int Id { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Training.Name.md b/Documentation/Pf2e.Database/Training.Name.md
new file mode 100644
index 0000000..1a6e3aa
--- /dev/null
+++ b/Documentation/Pf2e.Database/Training.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common').[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')
+
+## Training\.Name Property
+
+Название способности\.
+
+```csharp
+public Pf2e.Database.Model.Common.I18n.LocaleString Name { get; set; }
+```
+
+#### Property Value
+[LocaleString](LocaleString.md 'Pf2e\.Database\.Model\.Common\.I18n\.LocaleString')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Training.Type.md b/Documentation/Pf2e.Database/Training.Type.md
new file mode 100644
index 0000000..3bd5cd3
--- /dev/null
+++ b/Documentation/Pf2e.Database/Training.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common').[Training](Training.md 'Pf2e\.Database\.Model\.Common\.Training')
+
+## Training\.Type Property
+
+Тип способности\.
+
+```csharp
+public Pf2e.Database.Model.Enum.TrainingType Type { get; set; }
+```
+
+#### Property Value
+[TrainingType](TrainingType.md 'Pf2e\.Database\.Model\.Enum\.TrainingType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Training.md b/Documentation/Pf2e.Database/Training.md
new file mode 100644
index 0000000..740271d
--- /dev/null
+++ b/Documentation/Pf2e.Database/Training.md
@@ -0,0 +1,18 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common')
+
+## Training Class
+
+Изучаемая способность\.
+
+```csharp
+public class Training
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Training
+
+| Properties | |
+| :--- | :--- |
+| [Id](Training.Id.md 'Pf2e\.Database\.Model\.Common\.Training\.Id') | Идентификатор\. |
+| [Name](Training.Name.md 'Pf2e\.Database\.Model\.Common\.Training\.Name') | Название способности\. |
+| [Type](Training.Type.md 'Pf2e\.Database\.Model\.Common\.Training\.Type') | Тип способности\. |
diff --git a/Documentation/Pf2e.Database/TrainingRank.md b/Documentation/Pf2e.Database/TrainingRank.md
new file mode 100644
index 0000000..0aa6a2d
--- /dev/null
+++ b/Documentation/Pf2e.Database/TrainingRank.md
@@ -0,0 +1,47 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## TrainingRank Enum
+
+Ранг тренировки\.
+
+```csharp
+public enum TrainingRank
+```
+### Fields
+
+
+
+`Untrained` 0
+
+Необученный\.
+
+
+
+`Trained` 1
+
+Обученный\.
+
+
+
+`Expert` 2
+
+Эксперт\.
+
+
+
+`Master` 3
+
+Мастер\.
+
+
+
+`Legendary` 4
+
+Легендарный\.
+
+
+
+`Mythic` 5
+
+Мифический\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/TrainingType.md b/Documentation/Pf2e.Database/TrainingType.md
new file mode 100644
index 0000000..6f64072
--- /dev/null
+++ b/Documentation/Pf2e.Database/TrainingType.md
@@ -0,0 +1,47 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## TrainingType Enum
+
+Тип тренировки\.
+
+```csharp
+public enum TrainingType
+```
+### Fields
+
+
+
+`Perception` 0
+
+Восприятие\.
+
+
+
+`Skill` 1
+
+Навык\.
+
+
+
+`Lore` 2
+
+Знание\.
+
+
+
+`Weapon` 3
+
+Оружие\.
+
+
+
+`Armor` 4
+
+Защита\.
+
+
+
+`Save` 5
+
+Спасбросок\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Trait.Entities.md b/Documentation/Pf2e.Database/Trait.Entities.md
new file mode 100644
index 0000000..9e3f535
--- /dev/null
+++ b/Documentation/Pf2e.Database/Trait.Entities.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Trait](Trait.md 'Pf2e\.Database\.Model\.Structure\.Trait')
+
+## Trait\.Entities Property
+
+Сущности, которые имеют данный признак\.
+
+```csharp
+public System.Collections.Generic.ICollection Entities { get; set; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Trait.Entity.md b/Documentation/Pf2e.Database/Trait.Entity.md
new file mode 100644
index 0000000..beab877
--- /dev/null
+++ b/Documentation/Pf2e.Database/Trait.Entity.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Trait](Trait.md 'Pf2e\.Database\.Model\.Structure\.Trait')
+
+## Trait\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; set; }
+```
+
+Implements [Entity](IEntity.Entity.md 'Pf2e\.Database\.Model\.IEntity\.Entity')
+
+#### Property Value
+[Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Trait.Id.md b/Documentation/Pf2e.Database/Trait.Id.md
new file mode 100644
index 0000000..6bf0f1d
--- /dev/null
+++ b/Documentation/Pf2e.Database/Trait.Id.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Trait](Trait.md 'Pf2e\.Database\.Model\.Structure\.Trait')
+
+## Trait\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public int Id { get; set; }
+```
+
+Implements [Id](IEntity.Id.md 'Pf2e\.Database\.Model\.IEntity\.Id')
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Trait.Type.md b/Documentation/Pf2e.Database/Trait.Type.md
new file mode 100644
index 0000000..bd08c4c
--- /dev/null
+++ b/Documentation/Pf2e.Database/Trait.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure').[Trait](Trait.md 'Pf2e\.Database\.Model\.Structure\.Trait')
+
+## Trait\.Type Property
+
+Тип признака\.
+
+```csharp
+public Pf2e.Database.Model.Enum.TraitType Type { get; set; }
+```
+
+#### Property Value
+[TraitType](TraitType.md 'Pf2e\.Database\.Model\.Enum\.TraitType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/Trait.md b/Documentation/Pf2e.Database/Trait.md
new file mode 100644
index 0000000..0b3c2d3
--- /dev/null
+++ b/Documentation/Pf2e.Database/Trait.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure')
+
+## Trait Class
+
+Признак\.
+
+```csharp
+public class Trait : Pf2e.Database.Model.IEntity
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Trait
+
+Implements [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')
+
+| Properties | |
+| :--- | :--- |
+| [Entities](Trait.Entities.md 'Pf2e\.Database\.Model\.Structure\.Trait\.Entities') | Сущности, которые имеют данный признак\. |
+| [Entity](Trait.Entity.md 'Pf2e\.Database\.Model\.Structure\.Trait\.Entity') | Корневая сущность\. |
+| [Id](Trait.Id.md 'Pf2e\.Database\.Model\.Structure\.Trait\.Id') | Идентификатор сущности\. |
+| [Type](Trait.Type.md 'Pf2e\.Database\.Model\.Structure\.Trait\.Type') | Тип признака\. |
diff --git a/Documentation/Pf2e.Database/TraitType.md b/Documentation/Pf2e.Database/TraitType.md
new file mode 100644
index 0000000..6448e2a
--- /dev/null
+++ b/Documentation/Pf2e.Database/TraitType.md
@@ -0,0 +1,35 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## TraitType Enum
+
+Тип признака\.
+
+```csharp
+public enum TraitType
+```
+### Fields
+
+
+
+`Regular` 0
+
+Обычный признак\.
+
+
+
+`Alignment` 1
+
+Мировоззрение\.
+
+
+
+`Class` 2
+
+Признак класса\.
+
+
+
+`Tradition` 3
+
+Признак традиции\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/VisionEnum.md b/Documentation/Pf2e.Database/VisionEnum.md
new file mode 100644
index 0000000..de607d8
--- /dev/null
+++ b/Documentation/Pf2e.Database/VisionEnum.md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Database](index.md 'index')
+### [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum')
+
+## VisionEnum Enum
+
+Перечисление типов зрения\.
+
+```csharp
+public enum VisionEnum
+```
+### Fields
+
+
+
+`Normal` 0
+
+Обычное зрение\.
+
+
+
+`LowLightVision` 1
+
+Зрение в темноте\.
+
+
+
+`DarkVision` 2
+
+Тёмное зрение\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Database/index.md b/Documentation/Pf2e.Database/index.md
new file mode 100644
index 0000000..e1d7e33
--- /dev/null
+++ b/Documentation/Pf2e.Database/index.md
@@ -0,0 +1,24 @@
+#### [Pf2e\.Database](index.md 'index')
+
+## Pf2e\.Database Assembly
+
+| Namespaces | |
+| :--- | :--- |
+| [Pf2e\.Database](Pf2e.Database.md 'Pf2e\.Database') | Набор классов модели ORM EntityFramework\. |
+| [Pf2e\.Database\.Model](Pf2e.Database.Model.md 'Pf2e\.Database\.Model') | Модель классов ORM EntityFramework\. |
+| [Pf2e\.Database\.Model\.Base](Pf2e.Database.Model.Base.md 'Pf2e\.Database\.Model\.Base') | Описание корневой сущности модели: класса [Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity') и его прямых связей\. |
+| [Pf2e\.Database\.Model\.Base\.Keywords](Pf2e.Database.Model.Base.Keywords.md 'Pf2e\.Database\.Model\.Base\.Keywords') | Классы, связанные с ключевыми словами, которые могут использоваться в разных типах сущностей\. |
+| [Pf2e\.Database\.Model\.Base\.Source](Pf2e.Database.Model.Base.Source.md 'Pf2e\.Database\.Model\.Base\.Source') | Классы, связанные с источниками, которые могут использоваться в разных типах сущностей\. |
+| [Pf2e\.Database\.Model\.Base\.Targets](Pf2e.Database.Model.Base.Targets.md 'Pf2e\.Database\.Model\.Base\.Targets') | Классы, связанные с целями внешних ссылок, которые могут использоваться в разных типах сущностей\. |
+| [Pf2e\.Database\.Model\.Common](Pf2e.Database.Model.Common.md 'Pf2e\.Database\.Model\.Common') | Общее классы на которые могут ссылаться разные типа\. |
+| [Pf2e\.Database\.Model\.Common\.I18n](Pf2e.Database.Model.Common.I18n.md 'Pf2e\.Database\.Model\.Common\.I18n') | Классы, связанные с интернационализацией \(i18n\) модели\. |
+| [Pf2e\.Database\.Model\.Enum](Pf2e.Database.Model.Enum.md 'Pf2e\.Database\.Model\.Enum') | Описание всех перечислений, использующихся в модели\. |
+| [Pf2e\.Database\.Model\.Structure](Pf2e.Database.Model.Structure.md 'Pf2e\.Database\.Model\.Structure') | Основные типы, которые связаны 1\-к\-1 с [Entity](Entity.md 'Pf2e\.Database\.Model\.Base\.Entity')\. Для указания этой связи используется интерфейс [IEntity](IEntity.md 'Pf2e\.Database\.Model\.IEntity')\. |
+| [Pf2e\.Database\.Model\.Structure\.AncestryRelation](Pf2e.Database.Model.Structure.AncestryRelation.md 'Pf2e\.Database\.Model\.Structure\.AncestryRelation') | Классы, описывающие связи класса [Ancestry](Ancestry.md 'Pf2e\.Database\.Model\.Structure\.Ancestry')\. |
+| [Pf2e\.Database\.Model\.Structure\.ArchetypeRelation](Pf2e.Database.Model.Structure.ArchetypeRelation.md 'Pf2e\.Database\.Model\.Structure\.ArchetypeRelation') | Классы, описывающие связи класса [Archetype](Archetype.md 'Pf2e\.Database\.Model\.Structure\.Archetype')\. |
+| [Pf2e\.Database\.Model\.Structure\.BackgroundRelation](Pf2e.Database.Model.Structure.BackgroundRelation.md 'Pf2e\.Database\.Model\.Structure\.BackgroundRelation') | Классы, описывающие связи класса [Background](Background.md 'Pf2e\.Database\.Model\.Structure\.Background')\. |
+| [Pf2e\.Database\.Model\.Structure\.ClassRelation](Pf2e.Database.Model.Structure.ClassRelation.md 'Pf2e\.Database\.Model\.Structure\.ClassRelation') | Классы, описывающие связи класса [Class](Class.md 'Pf2e\.Database\.Model\.Structure\.Class')\. |
+| [Pf2e\.Database\.Model\.Structure\.DeityRelation](Pf2e.Database.Model.Structure.DeityRelation.md 'Pf2e\.Database\.Model\.Structure\.DeityRelation') | Классы, описывающие связи класса [Deity](Deity.md 'Pf2e\.Database\.Model\.Structure\.Deity')\. |
+| [Pf2e\.Database\.Model\.Structure\.FeatRelation](Pf2e.Database.Model.Structure.FeatRelation.md 'Pf2e\.Database\.Model\.Structure\.FeatRelation') | Классы, описывающие связи класса [Feat](Feat.md 'Pf2e\.Database\.Model\.Structure\.Feat')\. |
+| [Pf2e\.Database\.Model\.Structure\.RitualRelation](Pf2e.Database.Model.Structure.RitualRelation.md 'Pf2e\.Database\.Model\.Structure\.RitualRelation') | Классы, описывающие связи класса [Ritual](Ritual.md 'Pf2e\.Database\.Model\.Structure\.Ritual')\. |
+| [Pf2e\.Database\.Model\.Structure\.SpellRelation](Pf2e.Database.Model.Structure.SpellRelation.md 'Pf2e\.Database\.Model\.Structure\.SpellRelation') | Классы, описывающие связи класса [Spell](Spell.md 'Pf2e\.Database\.Model\.Structure\.Spell')\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendium.Count(ICollection_string_).md b/Documentation/Pf2e.Scrapper/AbstractCompendium.Count(ICollection_string_).md
new file mode 100644
index 0000000..9fe459b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendium.Count(ICollection_string_).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractCompendium](AbstractCompendium.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium')
+
+## AbstractCompendium\.Count\(ICollection\\) Method
+
+Возвращает количество элементов для указанного типа данных\.
+
+```csharp
+public abstract int Count(System.Collections.Generic.ICollection type);
+```
+#### Parameters
+
+
+
+`type` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+Типы данных\.
+
+#### Returns
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+Количество элементов\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendium.Dir.md b/Documentation/Pf2e.Scrapper/AbstractCompendium.Dir.md
new file mode 100644
index 0000000..c27a159
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendium.Dir.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractCompendium](AbstractCompendium.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium')
+
+## AbstractCompendium\.Dir Property
+
+Путь к хранению исходных данных\.
+
+```csharp
+public string Dir { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendium.Iterate(ICollection_string_).md b/Documentation/Pf2e.Scrapper/AbstractCompendium.Iterate(ICollection_string_).md
new file mode 100644
index 0000000..ba56903
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendium.Iterate(ICollection_string_).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractCompendium](AbstractCompendium.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium')
+
+## AbstractCompendium\.Iterate\(ICollection\\) Method
+
+Получение итератора сущностей\. Если указан тип [type](AbstractCompendium.Iterate(ICollection_string_).md#Pf2e.Scrapper.Importers.AbstractCompendium.Iterate(System.Collections.Generic.ICollection_string_).type 'Pf2e\.Scrapper\.Importers\.AbstractCompendium\.Iterate\(System\.Collections\.Generic\.ICollection\\)\.type') \- то только указанного типа\.
+
+```csharp
+public abstract System.Collections.Generic.IEnumerable> Iterate(System.Collections.Generic.ICollection type);
+```
+#### Parameters
+
+
+
+`type` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+Типы сущностей, которые нужно получить\.
+
+#### Returns
+[System\.Collections\.Generic\.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.Tuple<](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[Newtonsoft\.Json\.Linq\.JObject](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JObject 'Newtonsoft\.Json\.Linq\.JObject')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
+Итератор сущностей\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendium.Repository.md b/Documentation/Pf2e.Scrapper/AbstractCompendium.Repository.md
new file mode 100644
index 0000000..25709a8
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendium.Repository.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractCompendium](AbstractCompendium.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium')
+
+## AbstractCompendium\.Repository Property
+
+Репозиторий данных\.
+
+```csharp
+public abstract Pf2e.Scrapper.Importers.Repositories.AbstractImporterRepository Repository { get; }
+```
+
+#### Property Value
+[AbstractImporterRepository](AbstractImporterRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendium.md b/Documentation/Pf2e.Scrapper/AbstractCompendium.md
new file mode 100644
index 0000000..3bbd17e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendium.md
@@ -0,0 +1,26 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers')
+
+## AbstractCompendium Class
+
+Компендиум данных\.
+
+```csharp
+internal abstract class AbstractCompendium
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractCompendium
+
+Derived
+↳ [AonprdCompendium](AonprdCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium')
+↳ [FoundryEnCompendium](FoundryEnCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
+
+| Properties | |
+| :--- | :--- |
+| [Dir](AbstractCompendium.Dir.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium\.Dir') | Путь к хранению исходных данных\. |
+| [Repository](AbstractCompendium.Repository.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium\.Repository') | Репозиторий данных\. |
+
+| Methods | |
+| :--- | :--- |
+| [Count\(ICollection<string>\)](AbstractCompendium.Count(ICollection_string_).md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium\.Count\(System\.Collections\.Generic\.ICollection\\)') | Возвращает количество элементов для указанного типа данных\. |
+| [Iterate\(ICollection<string>\)](AbstractCompendium.Iterate(ICollection_string_).md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium\.Iterate\(System\.Collections\.Generic\.ICollection\\)') | Получение итератора сущностей\. Если указан тип [type](AbstractCompendium.Iterate(ICollection_string_).md#Pf2e.Scrapper.Importers.AbstractCompendium.Iterate(System.Collections.Generic.ICollection_string_).type 'Pf2e\.Scrapper\.Importers\.AbstractCompendium\.Iterate\(System\.Collections\.Generic\.ICollection\\)\.type') \- то только указанного типа\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.Id.md b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.Id.md
new file mode 100644
index 0000000..ce44b78
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem')
+
+## AbstractCompendiumItem\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public abstract string Id { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.ToString().md b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.ToString().md
new file mode 100644
index 0000000..5f2b3e4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.ToString().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem')
+
+## AbstractCompendiumItem\.ToString\(\) Method
+
+Строковое представление имени сущности\.
+
+```csharp
+public override string ToString();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.Type.md b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.Type.md
new file mode 100644
index 0000000..e03da31
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem')
+
+## AbstractCompendiumItem\.Type Property
+
+Тип сущности\.
+
+```csharp
+public abstract string Type { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.md b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.md
new file mode 100644
index 0000000..e3cf5f6
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractCompendiumItem.md
@@ -0,0 +1,25 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers')
+
+## AbstractCompendiumItem Class
+
+Абстрактная ссылка на сущность\.
+
+```csharp
+internal abstract class AbstractCompendiumItem
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractCompendiumItem
+
+Derived
+↳ [AonprdCompendiumItem](AonprdCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem')
+↳ [FoundryEnCompendiumItem](FoundryEnCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendiumItem')
+
+| Properties | |
+| :--- | :--- |
+| [Id](AbstractCompendiumItem.Id.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem\.Id') | Идентификатор сущности\. |
+| [Type](AbstractCompendiumItem.Type.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [ToString\(\)](AbstractCompendiumItem.ToString().md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem\.ToString\(\)') | Строковое представление имени сущности\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AbstractEntityProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AbstractEntityProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md
new file mode 100644
index 0000000..4ba5523
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AbstractEntityProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md
@@ -0,0 +1,40 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\(ProcessorInput, StringHelper, DatabaseHelper, AonprdBuilderGlobals\) Constructor
+
+Абстрактный класс\-обработчик сущностей, полученных из Архивов Нефиса\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+protected AbstractEntityProcessor(Pf2e.Scrapper.Processors.ProcessorInput input, Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper stringHelper, Pf2e.Scrapper.Helpers.DatabaseHelper helper, Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.AonprdBuilderGlobals globals);
+```
+#### Parameters
+
+
+
+`input` [ProcessorInput](ProcessorInput.md 'Pf2e\.Scrapper\.Processors\.ProcessorInput')
+
+Объект обработки вводимого JSON\.
+
+
+
+`stringHelper` [StringHelper](StringHelper.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.StringHelper')
+
+\[DI\] Помощник обработки строк\.
+
+
+
+`helper` [DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+\[DI\] Помощник работы с БД\.
+
+
+
+`globals` [AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+\[DI\] Глобальные параметра обработки Архивов Нефиса\.
+
+### See Also
+- [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Add().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Add().md
new file mode 100644
index 0000000..6c23568
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected abstract void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddEntity().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddEntity().md
new file mode 100644
index 0000000..9240433
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddEntity().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.AddEntity\(\) Method
+
+Генерация основных полей корневой сущности\.
+
+```csharp
+protected virtual void AddEntity();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddExternal().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddExternal().md
new file mode 100644
index 0000000..8648ba3
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddExternal().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.AddExternal\(\) Method
+
+Генерация внешних ссылок сущности\.
+
+```csharp
+protected virtual void AddExternal();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddSource().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddSource().md
new file mode 100644
index 0000000..d3b42f1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddSource().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.AddSource\(\) Method
+
+Генерация источников сущности\.
+
+```csharp
+protected virtual void AddSource();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddTraits().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddTraits().md
new file mode 100644
index 0000000..855ff39
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddTraits().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.AddTraits\(\) Method
+
+Генерация списка признаков сущности\.
+
+```csharp
+protected virtual void AddTraits();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddedDescription.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddedDescription.md
new file mode 100644
index 0000000..233e1de
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddedDescription.md
@@ -0,0 +1,51 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.AddedDescription Method
+
+| Overloads | |
+| :--- | :--- |
+| [AddedDescription\(string\)](AbstractEntityProcessor.AddedDescription.md#Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.AddedDescription(string) 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddedDescription\(string\)') | Создание строкового представления объекта по указанному пути для добавления к описанию сущности\. |
+| [AddedDescription\(ICollection<string>\)](AbstractEntityProcessor.AddedDescription.md#Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.AddedDescription(System.Collections.Generic.ICollection_string_) 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddedDescription\(System\.Collections\.Generic\.ICollection\\)') | Создание строкового представления объектов по указанным путям для добавления к описанию сущности\. |
+
+
+
+## AbstractEntityProcessor\.AddedDescription\(string\) Method
+
+Создание строкового представления объекта по указанному пути для добавления к описанию сущности\.
+
+```csharp
+protected string AddedDescription(string path);
+```
+#### Parameters
+
+
+
+`path` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Путь к добавляемому объекту\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление для добавления к описанию сущности\.
+
+
+
+## AbstractEntityProcessor\.AddedDescription\(ICollection\\) Method
+
+Создание строкового представления объектов по указанным путям для добавления к описанию сущности\.
+
+```csharp
+protected string AddedDescription(System.Collections.Generic.ICollection paths);
+```
+#### Parameters
+
+
+
+`paths` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+Список путей к добавляемым объектам\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление для добавления к описанию сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddedDescriptionPaths().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddedDescriptionPaths().md
new file mode 100644
index 0000000..3a30313
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.AddedDescriptionPaths().md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.AddedDescriptionPaths\(\) Method
+
+Получение списка полей, которые должны быть добавлены в описание\.
+
+```csharp
+protected virtual System.Collections.Generic.ICollection AddedDescriptionPaths();
+```
+
+#### Returns
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Check().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Check().md
new file mode 100644
index 0000000..6e29f60
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Check().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Check\(\) Method
+
+Проверки необходимости импорта сущности\.
+
+```csharp
+public virtual void Check();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Context.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Context.md
new file mode 100644
index 0000000..f7dd6a6
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Context.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Context Property
+
+Предоставляет механизм для освобождения неуправляемых ресурсов\.
+
+```csharp
+public Pf2e.Database.Pf2eDbContext Context { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Entity.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Entity.md
new file mode 100644
index 0000000..23233e4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Base.Entity 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md
new file mode 100644
index 0000000..91b2a38
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.GenerateJsonString\(ICollection\\) Method
+
+Генерация JSON\-строки из объектов, располагаюхися по путям, указанным в [paths](AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md#Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.GenerateJsonString(System.Collections.Generic.ICollection_string_).paths 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GenerateJsonString\(System\.Collections\.Generic\.ICollection\\)\.paths')\.
+
+```csharp
+protected string GenerateJsonString(System.Collections.Generic.ICollection paths);
+```
+#### Parameters
+
+
+
+`paths` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+Коллекция путей, из которых необходимо достатить объекты\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+JSON\-строка\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GetDescription().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GetDescription().md
new file mode 100644
index 0000000..7b76cac
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GetDescription().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.GetDescription\(\) Method
+
+Сгенерировать описание сущности\.
+
+```csharp
+protected virtual string GetDescription();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Описание сущности
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GetEntityName().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GetEntityName().md
new file mode 100644
index 0000000..6e4bbe1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.GetEntityName().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.GetEntityName\(\) Method
+
+Получает имя сущности из входных данных\.
+
+```csharp
+protected virtual string GetEntityName();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Имя сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Globals.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Globals.md
new file mode 100644
index 0000000..1b3a6b4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Globals.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Globals Property
+
+Класс\-помощник, хранящий необходимые глобальные данные\.
+
+```csharp
+public Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.AonprdBuilderGlobals Globals { get; }
+```
+
+#### Property Value
+[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Helper.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Helper.md
new file mode 100644
index 0000000..475c04b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Helper.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Helper Property
+
+Класс предоставляет методы для работы с базой данных\.
+
+```csharp
+public Pf2e.Scrapper.Helpers.DatabaseHelper Helper { get; }
+```
+
+#### Property Value
+[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Name.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Name.md
new file mode 100644
index 0000000..15b7f01
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Name Property
+
+Название сущности, которое будет использоваться для обработки данных\.
+
+```csharp
+public string Name { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Object.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Object.md
new file mode 100644
index 0000000..c501956
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public abstract Pf2e.Database.Model.IEntity Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.IEntity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.IEntity 'Pf2e\.Database\.Model\.IEntity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Process().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Process().md
new file mode 100644
index 0000000..db76793
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Save().md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Save().md
new file mode 100644
index 0000000..5d4e61d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Save().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Save\(\) Method
+
+Метод для сохранения изменений в базе данных\.
+
+```csharp
+public override void Save();
+```
+
+Implements [Save\(\)](IProcessor.Save().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Save\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Type.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Type.md
new file mode 100644
index 0000000..6681bec
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+
+## AbstractEntityProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public abstract Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.md b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.md
new file mode 100644
index 0000000..c14dd51
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractEntityProcessor.md
@@ -0,0 +1,68 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors')
+
+## AbstractEntityProcessor Class
+
+Абстрактный класс\-обработчик сущностей, полученных из Архивов Нефиса\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+internal abstract class AbstractEntityProcessor : Pf2e.Scrapper.Processors.Definitions.AbstractInputProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 AbstractEntityProcessor
+
+Derived
+↳ [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+↳ [ActionProcessor](ActionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor')
+↳ [AncestryProcessor](AncestryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor')
+↳ [ArchetypeProcessor](ArchetypeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor')
+↳ [BackgroundProcessor](BackgroundProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor')
+↳ [ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+↳ [DeityCategoryProcessor](DeityCategoryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor')
+↳ [DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+↳ [DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+↳ [FeatProcessor](FeatProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor')
+↳ [HeritageProcessor](HeritageProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.HeritageProcessor')
+↳ [LanguageProcessor](LanguageProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.LanguageProcessor')
+↳ [RitualProcessor](RitualProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.RitualProcessor')
+↳ [RuleProcessor](RuleProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.Rules\.RuleProcessor')
+↳ [SkillActionsProcessor](SkillActionsProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.SkillActionsProcessor')
+↳ [SpellProcessor](SpellProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.SpellProcessor')
+↳ [TraitProcessor](TraitProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.TraitProcessor')
+↳ [VersitileHeritageProcessor](VersitileHeritageProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.VersitileHeritageProcessor')
+
+### See Also
+- [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')
+
+| Constructors | |
+| :--- | :--- |
+| [AbstractEntityProcessor\(ProcessorInput, StringHelper, DatabaseHelper, AonprdBuilderGlobals\)](AbstractEntityProcessor.AbstractEntityProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AbstractEntityProcessor\(Pf2e\.Scrapper\.Processors\.ProcessorInput, Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.StringHelper, Pf2e\.Scrapper\.Helpers\.DatabaseHelper, Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\)') | Абстрактный класс\-обработчик сущностей, полученных из Архивов Нефиса\. Класс предназначен для обработки данных с помощью различных обработчиков, для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\. |
+
+| Properties | |
+| :--- | :--- |
+| [Context](AbstractEntityProcessor.Context.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Context') | Предоставляет механизм для освобождения неуправляемых ресурсов\. |
+| [Entity](AbstractEntityProcessor.Entity.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Entity') | Корневая сущность\. |
+| [Globals](AbstractEntityProcessor.Globals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Globals') | Класс\-помощник, хранящий необходимые глобальные данные\. |
+| [Helper](AbstractEntityProcessor.Helper.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Helper') | Класс предоставляет методы для работы с базой данных\. |
+| [Name](AbstractEntityProcessor.Name.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Name') | Название сущности, которое будет использоваться для обработки данных\. |
+| [Object](AbstractEntityProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Object') | Основная сущность\. |
+| [Type](AbstractEntityProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](AbstractEntityProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [AddedDescription\(string\)](AbstractEntityProcessor.AddedDescription.md#Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.AddedDescription(string) 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddedDescription\(string\)') | Создание строкового представления объекта по указанному пути для добавления к описанию сущности\. |
+| [AddedDescription\(ICollection<string>\)](AbstractEntityProcessor.AddedDescription.md#Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.AddedDescription(System.Collections.Generic.ICollection_string_) 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddedDescription\(System\.Collections\.Generic\.ICollection\\)') | Создание строкового представления объектов по указанным путям для добавления к описанию сущности\. |
+| [AddedDescriptionPaths\(\)](AbstractEntityProcessor.AddedDescriptionPaths().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddedDescriptionPaths\(\)') | Получение списка полей, которые должны быть добавлены в описание\. |
+| [AddEntity\(\)](AbstractEntityProcessor.AddEntity().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddEntity\(\)') | Генерация основных полей корневой сущности\. |
+| [AddExternal\(\)](AbstractEntityProcessor.AddExternal().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddExternal\(\)') | Генерация внешних ссылок сущности\. |
+| [AddSource\(\)](AbstractEntityProcessor.AddSource().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddSource\(\)') | Генерация источников сущности\. |
+| [AddTraits\(\)](AbstractEntityProcessor.AddTraits().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.AddTraits\(\)') | Генерация списка признаков сущности\. |
+| [Check\(\)](AbstractEntityProcessor.Check().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Check\(\)') | Проверки необходимости импорта сущности\. |
+| [GenerateJsonString\(ICollection<string>\)](AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GenerateJsonString\(System\.Collections\.Generic\.ICollection\\)') | Генерация JSON\-строки из объектов, располагаюхися по путям, указанным в [paths](AbstractEntityProcessor.GenerateJsonString(ICollection_string_).md#Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor.GenerateJsonString(System.Collections.Generic.ICollection_string_).paths 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GenerateJsonString\(System\.Collections\.Generic\.ICollection\\)\.paths')\. |
+| [GetDescription\(\)](AbstractEntityProcessor.GetDescription().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GetDescription\(\)') | Сгенерировать описание сущности\. |
+| [GetEntityName\(\)](AbstractEntityProcessor.GetEntityName().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.GetEntityName\(\)') | Получает имя сущности из входных данных\. |
+| [Process\(\)](AbstractEntityProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [Save\(\)](AbstractEntityProcessor.Save().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor\.Save\(\)') | Метод для сохранения изменений в базе данных\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporter.Dir.md b/Documentation/Pf2e.Scrapper/AbstractImporter.Dir.md
new file mode 100644
index 0000000..aa48446
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporter.Dir.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractImporter](AbstractImporter.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter')
+
+## AbstractImporter\.Dir Property
+
+Путь к директории с данными для импортёра\.
+
+```csharp
+public string Dir { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporter.Name.md b/Documentation/Pf2e.Scrapper/AbstractImporter.Name.md
new file mode 100644
index 0000000..cc226a0
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporter.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractImporter](AbstractImporter.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter')
+
+## AbstractImporter\.Name Property
+
+Отображаемое имя импортёра\.
+
+```csharp
+public abstract string Name { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporter.Slug.md b/Documentation/Pf2e.Scrapper/AbstractImporter.Slug.md
new file mode 100644
index 0000000..21c2c01
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporter.Slug.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers').[AbstractImporter](AbstractImporter.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter')
+
+## AbstractImporter\.Slug Property
+
+Короткое имя импортёра\.
+
+```csharp
+public abstract string Slug { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporter.md b/Documentation/Pf2e.Scrapper/AbstractImporter.md
new file mode 100644
index 0000000..614e30a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporter.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers](Pf2e.Scrapper.Importers.md 'Pf2e\.Scrapper\.Importers')
+
+## AbstractImporter Class
+
+Абстрактный класс импортёра\.
+
+```csharp
+internal abstract class AbstractImporter
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractImporter
+
+Derived
+↳ [AonprdImporter](AonprdImporter.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter')
+↳ [FoundryEnImporter](FoundryEnImporter.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnImporter')
+
+| Properties | |
+| :--- | :--- |
+| [Dir](AbstractImporter.Dir.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter\.Dir') | Путь к директории с данными для импортёра\. |
+| [Name](AbstractImporter.Name.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter\.Name') | Отображаемое имя импортёра\. |
+| [Slug](AbstractImporter.Slug.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter\.Slug') | Короткое имя импортёра\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporterRepository.AbstractImporterRepository(AbstractImporter).md b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.AbstractImporterRepository(AbstractImporter).md
new file mode 100644
index 0000000..6014273
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.AbstractImporterRepository(AbstractImporter).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Repositories](Pf2e.Scrapper.Importers.Repositories.md 'Pf2e\.Scrapper\.Importers\.Repositories').[AbstractImporterRepository](AbstractImporterRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository')
+
+## AbstractImporterRepository\(AbstractImporter\) Constructor
+
+Класс абстрактного репозитория\.
+
+```csharp
+protected AbstractImporterRepository(Pf2e.Scrapper.Importers.AbstractImporter importer);
+```
+#### Parameters
+
+
+
+`importer` [AbstractImporter](AbstractImporter.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter')
+
+Импортёр, использующий репозиторий\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporterRepository.Importer.md b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.Importer.md
new file mode 100644
index 0000000..f0a297d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.Importer.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Repositories](Pf2e.Scrapper.Importers.Repositories.md 'Pf2e\.Scrapper\.Importers\.Repositories').[AbstractImporterRepository](AbstractImporterRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository')
+
+## AbstractImporterRepository\.Importer Field
+
+Импортёр, использующий репозиторий\.
+
+```csharp
+public readonly AbstractImporter Importer;
+```
+
+#### Field Value
+[AbstractImporter](AbstractImporter.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporterRepository.RepositoryDir.md b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.RepositoryDir.md
new file mode 100644
index 0000000..fe3aa97
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.RepositoryDir.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Repositories](Pf2e.Scrapper.Importers.Repositories.md 'Pf2e\.Scrapper\.Importers\.Repositories').[AbstractImporterRepository](AbstractImporterRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository')
+
+## AbstractImporterRepository\.RepositoryDir Property
+
+CLR\-представкление директории с данными\.
+
+```csharp
+public System.IO.DirectoryInfo RepositoryDir { get; }
+```
+
+#### Property Value
+[System\.IO\.DirectoryInfo](https://docs.microsoft.com/en-us/dotnet/api/System.IO.DirectoryInfo 'System\.IO\.DirectoryInfo')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporterRepository.RepositoryDirPath.md b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.RepositoryDirPath.md
new file mode 100644
index 0000000..095b354
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.RepositoryDirPath.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Repositories](Pf2e.Scrapper.Importers.Repositories.md 'Pf2e\.Scrapper\.Importers\.Repositories').[AbstractImporterRepository](AbstractImporterRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository')
+
+## AbstractImporterRepository\.RepositoryDirPath Property
+
+Путь к директории с данными для импортёра\.
+
+```csharp
+public string RepositoryDirPath { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporterRepository.Update(ProcessProgress).md b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.Update(ProcessProgress).md
new file mode 100644
index 0000000..8732fc3
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.Update(ProcessProgress).md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Repositories](Pf2e.Scrapper.Importers.Repositories.md 'Pf2e\.Scrapper\.Importers\.Repositories').[AbstractImporterRepository](AbstractImporterRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository')
+
+## AbstractImporterRepository\.Update\(ProcessProgress\) Method
+
+Обновление данных в репозитории\.
+
+```csharp
+public abstract void Update(Pf2e.Scrapper.Helpers.ProcessProgress progress);
+```
+#### Parameters
+
+
+
+`progress` [ProcessProgress](ProcessProgress.md 'Pf2e\.Scrapper\.Helpers\.ProcessProgress')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractImporterRepository.md b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.md
new file mode 100644
index 0000000..0909473
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractImporterRepository.md
@@ -0,0 +1,33 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Repositories](Pf2e.Scrapper.Importers.Repositories.md 'Pf2e\.Scrapper\.Importers\.Repositories')
+
+## AbstractImporterRepository Class
+
+Класс абстрактного репозитория\.
+
+```csharp
+internal abstract class AbstractImporterRepository
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractImporterRepository
+
+Derived
+↳ [AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+↳ [GitRepository](GitRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.GitRepository')
+
+| Constructors | |
+| :--- | :--- |
+| [AbstractImporterRepository\(AbstractImporter\)](AbstractImporterRepository.AbstractImporterRepository(AbstractImporter).md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository\.AbstractImporterRepository\(Pf2e\.Scrapper\.Importers\.AbstractImporter\)') | Класс абстрактного репозитория\. |
+
+| Fields | |
+| :--- | :--- |
+| [Importer](AbstractImporterRepository.Importer.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository\.Importer') | Импортёр, использующий репозиторий\. |
+
+| Properties | |
+| :--- | :--- |
+| [RepositoryDir](AbstractImporterRepository.RepositoryDir.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository\.RepositoryDir') | CLR\-представкление директории с данными\. |
+| [RepositoryDirPath](AbstractImporterRepository.RepositoryDirPath.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository\.RepositoryDirPath') | Путь к директории с данными для импортёра\. |
+
+| Methods | |
+| :--- | :--- |
+| [Update\(ProcessProgress\)](AbstractImporterRepository.Update(ProcessProgress).md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository\.Update\(Pf2e\.Scrapper\.Helpers\.ProcessProgress\)') | Обновление данных в репозитории\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractInputProcessor.AbstractInputProcessor(ProcessorInput).md b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.AbstractInputProcessor(ProcessorInput).md
new file mode 100644
index 0000000..0666845
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.AbstractInputProcessor(ProcessorInput).md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions').[AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor')
+
+## AbstractInputProcessor\(ProcessorInput\) Constructor
+
+Абстрактный класс\-обработчик данных, полученных из Архивов Нефиса\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+protected AbstractInputProcessor(Pf2e.Scrapper.Processors.ProcessorInput input);
+```
+#### Parameters
+
+
+
+`input` [ProcessorInput](ProcessorInput.md 'Pf2e\.Scrapper\.Processors\.ProcessorInput')
+
+Входные данные обработчика\.
+
+### See Also
+- [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Input.md b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Input.md
new file mode 100644
index 0000000..5b6e2d6
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Input.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions').[AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor')
+
+## AbstractInputProcessor\.Input Property
+
+Входные данные обработчика\.
+
+```csharp
+public Pf2e.Scrapper.Processors.ProcessorInput Input { get; }
+```
+
+#### Property Value
+[ProcessorInput](ProcessorInput.md 'Pf2e\.Scrapper\.Processors\.ProcessorInput')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Process().md b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Process().md
new file mode 100644
index 0000000..fa6c237
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions').[AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor')
+
+## AbstractInputProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public abstract void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Save().md b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Save().md
new file mode 100644
index 0000000..5001263
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.Save().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions').[AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor')
+
+## AbstractInputProcessor\.Save\(\) Method
+
+Метод для сохранения изменений в базе данных\.
+
+```csharp
+public abstract void Save();
+```
+
+Implements [Save\(\)](IProcessor.Save().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Save\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractInputProcessor.md b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.md
new file mode 100644
index 0000000..c856384
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractInputProcessor.md
@@ -0,0 +1,38 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions')
+
+## AbstractInputProcessor Class
+
+Абстрактный класс\-обработчик данных, полученных из Архивов Нефиса\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+internal abstract class AbstractInputProcessor : Pf2e.Scrapper.Processors.Definitions.IProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractInputProcessor
+
+Derived
+↳ [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor')
+↳ [SkillProcessor](SkillProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation\.SkillProcessor')
+↳ [SourceProcessor](SourceProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation\.SourceProcessor')
+↳ [FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+Implements [IProcessor](IProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor')
+
+### See Also
+- [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')
+
+| Constructors | |
+| :--- | :--- |
+| [AbstractInputProcessor\(ProcessorInput\)](AbstractInputProcessor.AbstractInputProcessor(ProcessorInput).md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor\.AbstractInputProcessor\(Pf2e\.Scrapper\.Processors\.ProcessorInput\)') | Абстрактный класс\-обработчик данных, полученных из Архивов Нефиса\. Класс предназначен для обработки данных с помощью различных обработчиков, для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\. |
+
+| Properties | |
+| :--- | :--- |
+| [Input](AbstractInputProcessor.Input.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor\.Input') | Входные данные обработчика\. |
+
+| Methods | |
+| :--- | :--- |
+| [Process\(\)](AbstractInputProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [Save\(\)](AbstractInputProcessor.Save().md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor\.Save\(\)') | Метод для сохранения изменений в базе данных\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.AbstractProcessorAttribute(string).md b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.AbstractProcessorAttribute(string).md
new file mode 100644
index 0000000..f2a1e8f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.AbstractProcessorAttribute(string).md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Attributes](Pf2e.Scrapper.Processors.Attributes.md 'Pf2e\.Scrapper\.Processors\.Attributes').[AbstractProcessorAttribute](AbstractProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute')
+
+## AbstractProcessorAttribute\(string\) Constructor
+
+Абстрактный аттрибут обработчика\.
+
+```csharp
+public AbstractProcessorAttribute(string name);
+```
+#### Parameters
+
+
+
+`name` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Active.md b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Active.md
new file mode 100644
index 0000000..1cfda2e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Active.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Attributes](Pf2e.Scrapper.Processors.Attributes.md 'Pf2e\.Scrapper\.Processors\.Attributes').[AbstractProcessorAttribute](AbstractProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute')
+
+## AbstractProcessorAttribute\.Active Property
+
+Процессор включён по умолчанию\.
+
+```csharp
+public bool Active { get; init; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Description.md b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Description.md
new file mode 100644
index 0000000..e8bdd1b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Description.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Attributes](Pf2e.Scrapper.Processors.Attributes.md 'Pf2e\.Scrapper\.Processors\.Attributes').[AbstractProcessorAttribute](AbstractProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute')
+
+## AbstractProcessorAttribute\.Description Property
+
+Описание обработчика\.
+
+```csharp
+public string Description { get; init; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Group.md b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Group.md
new file mode 100644
index 0000000..41ae195
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Group.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Attributes](Pf2e.Scrapper.Processors.Attributes.md 'Pf2e\.Scrapper\.Processors\.Attributes').[AbstractProcessorAttribute](AbstractProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute')
+
+## AbstractProcessorAttribute\.Group Property
+
+Группа обработчиков, к которому относится обработчик\.
+
+```csharp
+public Pf2e.Scrapper.Processors.Attributes.ProcessorGroupEnum Group { get; init; }
+```
+
+#### Property Value
+[ProcessorGroupEnum](ProcessorGroupEnum.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorGroupEnum')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Name.md b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Name.md
new file mode 100644
index 0000000..17422bd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Attributes](Pf2e.Scrapper.Processors.Attributes.md 'Pf2e\.Scrapper\.Processors\.Attributes').[AbstractProcessorAttribute](AbstractProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute')
+
+## AbstractProcessorAttribute\.Name Property
+
+Название обработчика\.
+
+```csharp
+public string Name { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Parallel.md b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Parallel.md
new file mode 100644
index 0000000..fa9ec16
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.Parallel.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Attributes](Pf2e.Scrapper.Processors.Attributes.md 'Pf2e\.Scrapper\.Processors\.Attributes').[AbstractProcessorAttribute](AbstractProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute')
+
+## AbstractProcessorAttribute\.Parallel Property
+
+Разрешить выполнять процессов в параллельном режиме
+
+```csharp
+public bool Parallel { get; init; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.md b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.md
new file mode 100644
index 0000000..a97ba4d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorAttribute.md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Attributes](Pf2e.Scrapper.Processors.Attributes.md 'Pf2e\.Scrapper\.Processors\.Attributes')
+
+## AbstractProcessorAttribute Class
+
+Абстрактный аттрибут обработчика\.
+
+```csharp
+internal class AbstractProcessorAttribute : System.Attribute
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [System\.Attribute](https://docs.microsoft.com/en-us/dotnet/api/System.Attribute 'System\.Attribute') 🡒 AbstractProcessorAttribute
+
+Derived
+↳ [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')
+↳ [ProcessorCollectionAttribute](ProcessorCollectionAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorCollectionAttribute')
+↳ [ProcessorFactoryAttribute](ProcessorFactoryAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorFactoryAttribute')
+
+| Constructors | |
+| :--- | :--- |
+| [AbstractProcessorAttribute\(string\)](AbstractProcessorAttribute.AbstractProcessorAttribute(string).md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute\.AbstractProcessorAttribute\(string\)') | Абстрактный аттрибут обработчика\. |
+
+| Properties | |
+| :--- | :--- |
+| [Active](AbstractProcessorAttribute.Active.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute\.Active') | Процессор включён по умолчанию\. |
+| [Description](AbstractProcessorAttribute.Description.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute\.Description') | Описание обработчика\. |
+| [Group](AbstractProcessorAttribute.Group.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute\.Group') | Группа обработчиков, к которому относится обработчик\. |
+| [Name](AbstractProcessorAttribute.Name.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute\.Name') | Название обработчика\. |
+| [Parallel](AbstractProcessorAttribute.Parallel.md 'Pf2e\.Scrapper\.Processors\.Attributes\.AbstractProcessorAttribute\.Parallel') | Разрешить выполнять процессов в параллельном режиме |
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.Count().md b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.Count().md
new file mode 100644
index 0000000..5a8c200
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.Count().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Factory](Pf2e.Scrapper.Processors.Factory.md 'Pf2e\.Scrapper\.Processors\.Factory').[AbstractProcessorFactory](AbstractProcessorFactory.md 'Pf2e\.Scrapper\.Processors\.Factory\.AbstractProcessorFactory')
+
+## AbstractProcessorFactory\.Count\(\) Method
+
+Количество элеметов для итерирования\.
+
+```csharp
+public abstract int Count();
+```
+
+#### Returns
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+Количество элеметов
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.GetEnumerator().md b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.GetEnumerator().md
new file mode 100644
index 0000000..9c24b08
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.GetEnumerator().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Factory](Pf2e.Scrapper.Processors.Factory.md 'Pf2e\.Scrapper\.Processors\.Factory').[AbstractProcessorFactory](AbstractProcessorFactory.md 'Pf2e\.Scrapper\.Processors\.Factory\.AbstractProcessorFactory')
+
+## AbstractProcessorFactory\.GetEnumerator\(\) Method
+
+Итератор процессоров\.
+
+```csharp
+public abstract System.Collections.Generic.IEnumerable> GetEnumerator();
+```
+
+#### Returns
+[System\.Collections\.Generic\.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.Tuple<](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[IProcessor](IProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
+Пара значений: \[0\] \- описание элемента процессор, \[1\] \- процессор\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.Prepare().md b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.Prepare().md
new file mode 100644
index 0000000..c82c5e0
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.Prepare().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Factory](Pf2e.Scrapper.Processors.Factory.md 'Pf2e\.Scrapper\.Processors\.Factory').[AbstractProcessorFactory](AbstractProcessorFactory.md 'Pf2e\.Scrapper\.Processors\.Factory\.AbstractProcessorFactory')
+
+## AbstractProcessorFactory\.Prepare\(\) Method
+
+Подготовить фабрику к работе\.
+
+```csharp
+public virtual void Prepare();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.md b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.md
new file mode 100644
index 0000000..0cd5354
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractProcessorFactory.md
@@ -0,0 +1,18 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Factory](Pf2e.Scrapper.Processors.Factory.md 'Pf2e\.Scrapper\.Processors\.Factory')
+
+## AbstractProcessorFactory Class
+
+Абстрактная фабрика создания процессоров\.
+
+```csharp
+internal abstract class AbstractProcessorFactory
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractProcessorFactory
+
+| Methods | |
+| :--- | :--- |
+| [Count\(\)](AbstractProcessorFactory.Count().md 'Pf2e\.Scrapper\.Processors\.Factory\.AbstractProcessorFactory\.Count\(\)') | Количество элеметов для итерирования\. |
+| [GetEnumerator\(\)](AbstractProcessorFactory.GetEnumerator().md 'Pf2e\.Scrapper\.Processors\.Factory\.AbstractProcessorFactory\.GetEnumerator\(\)') | Итератор процессоров\. |
+| [Prepare\(\)](AbstractProcessorFactory.Prepare().md 'Pf2e\.Scrapper\.Processors\.Factory\.AbstractProcessorFactory\.Prepare\(\)') | Подготовить фабрику к работе\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Compendium.md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Compendium.md
new file mode 100644
index 0000000..4772de8
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Compendium.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.Compendium Property
+
+Связаный компендиум
+
+```csharp
+protected abstract Pf2e.Scrapper.Importers.AbstractCompendium Compendium { protected get; }
+```
+
+#### Property Value
+[AbstractCompendium](AbstractCompendium.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.GetSchemaNodes(AbstractCompendiumItem).md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.GetSchemaNodes(AbstractCompendiumItem).md
new file mode 100644
index 0000000..126a316
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.GetSchemaNodes(AbstractCompendiumItem).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.GetSchemaNodes\(AbstractCompendiumItem\) Method
+
+Получить список названий элементов структуры данных на основе вводимого элемента\.
+
+```csharp
+protected abstract System.Collections.Generic.ICollection GetSchemaNodes(Pf2e.Scrapper.Importers.AbstractCompendiumItem item);
+```
+#### Parameters
+
+
+
+`item` [AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem')
+
+Вводимый элемент
+
+#### Returns
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+Коллекция названий элементов структуры данных/
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Process().md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Process().md
new file mode 100644
index 0000000..1da7072
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.Process\(\) Method
+
+Построение схемы данных\.
+
+```csharp
+public void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Resolver.md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Resolver.md
new file mode 100644
index 0000000..809425e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Resolver.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.Resolver Property
+
+Определитель типов данных\.
+
+```csharp
+protected abstract Pf2e.Scrapper.SchemaBuilder.TypeResolver Resolver { protected get; }
+```
+
+#### Property Value
+[TypeResolver](TypeResolver.md 'Pf2e\.Scrapper\.SchemaBuilder\.TypeResolver')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Save().md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Save().md
new file mode 100644
index 0000000..96036dd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Save().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.Save\(\) Method
+
+Сохранение постренных схем данных\.
+
+```csharp
+public void Save();
+```
+
+Implements [Save\(\)](IProcessor.Save().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Save\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.SavePath.md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.SavePath.md
new file mode 100644
index 0000000..8eb6b44
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.SavePath.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.SavePath Property
+
+Путь к каталогу для сохранения вывода\.
+
+```csharp
+protected abstract string SavePath { protected get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.SaveSchema(string,string,SchemaNode).md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.SaveSchema(string,string,SchemaNode).md
new file mode 100644
index 0000000..7782ead
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.SaveSchema(string,string,SchemaNode).md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.SaveSchema\(string, string, SchemaNode\) Method
+
+Сохранение отдельной схемы данных\.
+
+```csharp
+protected void SaveSchema(string dir, string name, Pf2e.Scrapper.SchemaBuilder.SchemaNode schema);
+```
+#### Parameters
+
+
+
+`dir` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Целевой каталог\.
+
+
+
+`name` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Название схемы\.
+
+
+
+`schema` [SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
+
+Сохраняемая схема\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Schemas.md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Schemas.md
new file mode 100644
index 0000000..561873d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.Schemas.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder').[AbstractSchemaBuildProcessor](AbstractSchemaBuildProcessor.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor')
+
+## AbstractSchemaBuildProcessor\.Schemas Property
+
+Набор схем данных\.
+
+```csharp
+protected System.Collections.Generic.Dictionary Schemas { protected get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.md b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.md
new file mode 100644
index 0000000..471fa0f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaBuildProcessor.md
@@ -0,0 +1,30 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder](Pf2e.Scrapper.SchemaBuilder.md 'Pf2e\.Scrapper\.SchemaBuilder')
+
+## AbstractSchemaBuildProcessor Class
+
+```csharp
+internal abstract class AbstractSchemaBuildProcessor : Pf2e.Scrapper.Processors.Definitions.IProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractSchemaBuildProcessor
+
+Derived
+↳ [SchemaBuildProcessor](SchemaBuildProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation\.SchemaBuildProcessor')
+↳ [SchemaBuildProcessor](SchemaBuildProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.Preparation\.SchemaBuildProcessor')
+
+Implements [IProcessor](IProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor')
+
+| Properties | |
+| :--- | :--- |
+| [Compendium](AbstractSchemaBuildProcessor.Compendium.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.Compendium') | Связаный компендиум |
+| [Resolver](AbstractSchemaBuildProcessor.Resolver.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.Resolver') | Определитель типов данных\. |
+| [SavePath](AbstractSchemaBuildProcessor.SavePath.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.SavePath') | Путь к каталогу для сохранения вывода\. |
+| [Schemas](AbstractSchemaBuildProcessor.Schemas.md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.Schemas') | Набор схем данных\. |
+
+| Methods | |
+| :--- | :--- |
+| [GetSchemaNodes\(AbstractCompendiumItem\)](AbstractSchemaBuildProcessor.GetSchemaNodes(AbstractCompendiumItem).md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.GetSchemaNodes\(Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem\)') | Получить список названий элементов структуры данных на основе вводимого элемента\. |
+| [Process\(\)](AbstractSchemaBuildProcessor.Process().md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.Process\(\)') | Построение схемы данных\. |
+| [Save\(\)](AbstractSchemaBuildProcessor.Save().md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.Save\(\)') | Сохранение постренных схем данных\. |
+| [SaveSchema\(string, string, SchemaNode\)](AbstractSchemaBuildProcessor.SaveSchema(string,string,SchemaNode).md 'Pf2e\.Scrapper\.SchemaBuilder\.AbstractSchemaBuildProcessor\.SaveSchema\(string, string, Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode\)') | Сохранение отдельной схемы данных\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.AbstractSchemaType(SchemaNode).md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.AbstractSchemaType(SchemaNode).md
new file mode 100644
index 0000000..1878bd9
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.AbstractSchemaType(SchemaNode).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\(SchemaNode\) Constructor
+
+Абстрактный тип представоления данных в схеме\.
+
+```csharp
+protected AbstractSchemaType(Pf2e.Scrapper.SchemaBuilder.SchemaNode parent);
+```
+#### Parameters
+
+
+
+`parent` [SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
+
+Элемент, к которому добавляется тип\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.AddValue(JToken).md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.AddValue(JToken).md
new file mode 100644
index 0000000..5f01e8b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.AddValue(JToken).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.AddValue\(JToken\) Method
+
+Добавление нового значения\.
+
+```csharp
+public abstract void AddValue(Newtonsoft.Json.Linq.JToken value);
+```
+#### Parameters
+
+
+
+`value` [Newtonsoft\.Json\.Linq\.JToken](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JToken 'Newtonsoft\.Json\.Linq\.JToken')
+
+Новое значение\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.Beautify().md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Beautify().md
new file mode 100644
index 0000000..35c60a2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Beautify().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.Beautify\(\) Method
+
+Подготовка типа к красивому представлению\.
+
+```csharp
+public abstract void Beautify();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.GetTypeName().md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.GetTypeName().md
new file mode 100644
index 0000000..78e021d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.GetTypeName().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.GetTypeName\(\) Method
+
+Получение строкового представоения типа элемента\.
+
+```csharp
+public abstract string GetTypeName();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представоение типа элемента
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.GetYamlData().md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.GetYamlData().md
new file mode 100644
index 0000000..637904f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.GetYamlData().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.GetYamlData\(\) Method
+
+Получение данных для форматирования в YAML\.
+
+```csharp
+public abstract System.Collections.Generic.Dictionary GetYamlData();
+```
+
+#### Returns
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
+Словарь данных
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.IsCompatibleValue(JToken).md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.IsCompatibleValue(JToken).md
new file mode 100644
index 0000000..9d74e22
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.IsCompatibleValue(JToken).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.IsCompatibleValue\(JToken\) Method
+
+Проверка, что значение совместимо с текущим типом\.
+
+```csharp
+public abstract bool IsCompatibleValue(Newtonsoft.Json.Linq.JToken value);
+```
+#### Parameters
+
+
+
+`value` [Newtonsoft\.Json\.Linq\.JToken](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JToken 'Newtonsoft\.Json\.Linq\.JToken')
+
+Проверяемое значение\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+\`true\`, если значение совместимо с текущим типом\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.Parent.md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Parent.md
new file mode 100644
index 0000000..c4db62a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Parent.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.Parent Field
+
+Элемент схемы данных, к которому относится тип\.
+
+```csharp
+public readonly SchemaNode Parent;
+```
+
+#### Field Value
+[SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.Resolver.md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Resolver.md
new file mode 100644
index 0000000..f8877cd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Resolver.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.Resolver Property
+
+Объект для определения типа поля в схеме данных\.
+
+```csharp
+public Pf2e.Scrapper.SchemaBuilder.TypeResolver Resolver { get; }
+```
+
+#### Property Value
+[TypeResolver](TypeResolver.md 'Pf2e\.Scrapper\.SchemaBuilder\.TypeResolver')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.Root.md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Root.md
new file mode 100644
index 0000000..9d46440
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.Root.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.Root Property
+
+Корневой элемент схемы данных\.
+
+```csharp
+public Pf2e.Scrapper.SchemaBuilder.SchemaNode Root { get; }
+```
+
+#### Property Value
+[SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.ToString().md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.ToString().md
new file mode 100644
index 0000000..7f24009
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.ToString().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType')
+
+## AbstractSchemaType\.ToString\(\) Method
+
+Полное строковое представление элемента\.
+
+```csharp
+public override string ToString();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представление элемента\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSchemaType.md b/Documentation/Pf2e.Scrapper/AbstractSchemaType.md
new file mode 100644
index 0000000..0a14f63
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSchemaType.md
@@ -0,0 +1,41 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types')
+
+## AbstractSchemaType Class
+
+Абстрактный тип представоления данных в схеме\.
+
+```csharp
+internal abstract class AbstractSchemaType
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractSchemaType
+
+Derived
+↳ [ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+↳ [DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+↳ [IgnoreSchemaType](IgnoreSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.IgnoreSchemaType')
+↳ [ObjectSchemaType](ObjectSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ObjectSchemaType')
+↳ [StaticSchemaType](StaticSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.StaticSchemaType')
+
+| Constructors | |
+| :--- | :--- |
+| [AbstractSchemaType\(SchemaNode\)](AbstractSchemaType.AbstractSchemaType(SchemaNode).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.AbstractSchemaType\(Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode\)') | Абстрактный тип представоления данных в схеме\. |
+
+| Fields | |
+| :--- | :--- |
+| [Parent](AbstractSchemaType.Parent.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.Parent') | Элемент схемы данных, к которому относится тип\. |
+
+| Properties | |
+| :--- | :--- |
+| [Resolver](AbstractSchemaType.Resolver.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.Resolver') | Объект для определения типа поля в схеме данных\. |
+| [Root](AbstractSchemaType.Root.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.Root') | Корневой элемент схемы данных\. |
+
+| Methods | |
+| :--- | :--- |
+| [AddValue\(JToken\)](AbstractSchemaType.AddValue(JToken).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.AddValue\(Newtonsoft\.Json\.Linq\.JToken\)') | Добавление нового значения\. |
+| [Beautify\(\)](AbstractSchemaType.Beautify().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.Beautify\(\)') | Подготовка типа к красивому представлению\. |
+| [GetTypeName\(\)](AbstractSchemaType.GetTypeName().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.GetTypeName\(\)') | Получение строкового представоения типа элемента\. |
+| [GetYamlData\(\)](AbstractSchemaType.GetYamlData().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.GetYamlData\(\)') | Получение данных для форматирования в YAML\. |
+| [IsCompatibleValue\(JToken\)](AbstractSchemaType.IsCompatibleValue(JToken).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.IsCompatibleValue\(Newtonsoft\.Json\.Linq\.JToken\)') | Проверка, что значение совместимо с текущим типом\. |
+| [ToString\(\)](AbstractSchemaType.ToString().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType\.ToString\(\)') | Полное строковое представление элемента\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.Process().md b/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.Process().md
new file mode 100644
index 0000000..23b4bf1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions').[AbstractSimpleProcessor](AbstractSimpleProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractSimpleProcessor')
+
+## AbstractSimpleProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public abstract void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.Save().md b/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.Save().md
new file mode 100644
index 0000000..3fc9750
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.Save().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions').[AbstractSimpleProcessor](AbstractSimpleProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractSimpleProcessor')
+
+## AbstractSimpleProcessor\.Save\(\) Method
+
+Метод для сохранения изменений в базе данных\.
+
+```csharp
+public abstract void Save();
+```
+
+Implements [Save\(\)](IProcessor.Save().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Save\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.md b/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.md
new file mode 100644
index 0000000..3d05f42
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSimpleProcessor.md
@@ -0,0 +1,24 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors\.Definitions](Pf2e.Scrapper.Processors.Definitions.md 'Pf2e\.Scrapper\.Processors\.Definitions')
+
+## AbstractSimpleProcessor Class
+
+Абстрактный класс\-обработчик данных, полученных из Архивов Нефиса\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+internal abstract class AbstractSimpleProcessor : Pf2e.Scrapper.Processors.Definitions.IProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AbstractSimpleProcessor
+
+Implements [IProcessor](IProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor')
+
+### See Also
+- [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')
+
+| Methods | |
+| :--- | :--- |
+| [Process\(\)](AbstractSimpleProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractSimpleProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [Save\(\)](AbstractSimpleProcessor.Save().md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractSimpleProcessor\.Save\(\)') | Метод для сохранения изменений в базе данных\. |
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AbstractSubclassProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AbstractSubclassProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md
new file mode 100644
index 0000000..ec1b688
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AbstractSubclassProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\(ProcessorInput, StringHelper, DatabaseHelper, AonprdBuilderGlobals\) Constructor
+
+Абстрактный класс\-обработчик сущностей подклассов, полученных из Архивов Нефиса\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+protected AbstractSubclassProcessor(Pf2e.Scrapper.Processors.ProcessorInput input, Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.StringHelper stringHelper, Pf2e.Scrapper.Helpers.DatabaseHelper helper, Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.AonprdBuilderGlobals globals);
+```
+#### Parameters
+
+
+
+`input` [ProcessorInput](ProcessorInput.md 'Pf2e\.Scrapper\.Processors\.ProcessorInput')
+
+
+
+`stringHelper` [StringHelper](StringHelper.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.StringHelper')
+
+
+
+`helper` [DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+
+
+`globals` [AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Add().md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Add().md
new file mode 100644
index 0000000..d1fafac
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AddSpells(string).md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AddSpells(string).md
new file mode 100644
index 0000000..aa4967e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AddSpells(string).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.AddSpells\(string\) Method
+
+Добавление заклинаний из строкового представления\.
+
+```csharp
+public void AddSpells(string spellMd);
+```
+#### Parameters
+
+
+
+`spellMd` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление списка заклинаний\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AddTrainings(string).md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AddTrainings(string).md
new file mode 100644
index 0000000..e24b2fe
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.AddTrainings(string).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.AddTrainings\(string\) Method
+
+Добавление тренировок из строкового представления\.
+
+```csharp
+public void AddTrainings(string trainingMd);
+```
+#### Parameters
+
+
+
+`trainingMd` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление списка тренировок\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.ClassName.md
new file mode 100644
index 0000000..89e4074
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public abstract string? ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.GetGroup().md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.GetGroup().md
new file mode 100644
index 0000000..534916c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.GetGroup().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.GetGroup\(\) Method
+
+Получение CLR\-представления группы подклассов, к которому относится обрабатываемый подкласс\.
+
+```csharp
+public Pf2e.Database.Model.Structure.SubclassGroup GetGroup();
+```
+
+#### Returns
+[Pf2e\.Database\.Model\.Structure\.SubclassGroup](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.SubclassGroup 'Pf2e\.Database\.Model\.Structure\.SubclassGroup')
+CLR\-представления группы подклассов\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.GroupName.md
new file mode 100644
index 0000000..d7dc647
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public abstract string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Object.md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Object.md
new file mode 100644
index 0000000..c3a4837
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public abstract Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Process().md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Process().md
new file mode 100644
index 0000000..ba5c341
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.ProcessObject().md
new file mode 100644
index 0000000..bfbe210
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public abstract void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Type.md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Type.md
new file mode 100644
index 0000000..775e40f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors').[AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor')
+
+## AbstractSubclassProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.md b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.md
new file mode 100644
index 0000000..9791e9a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AbstractSubclassProcessor.md
@@ -0,0 +1,66 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors')
+
+## AbstractSubclassProcessor Class
+
+Абстрактный класс\-обработчик сущностей подклассов, полученных из Архивов Нефиса\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+internal abstract class AbstractSubclassProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 AbstractSubclassProcessor
+
+Derived
+↳ [ApparitionProcessor](ApparitionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor')
+↳ [ArcaneSchoolProcessor](ArcaneSchoolProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor')
+↳ [ArcaneThesisProcessor](ArcaneThesisProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor')
+↳ [BloodlineProcessor](BloodlineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor')
+↳ [CauseProcessor](CauseProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor')
+↳ [ConsciousMindProcessor](ConsciousMindProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor')
+↳ [DoctrineProcessor](DoctrineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor')
+↳ [DruidicOrderProcessor](DruidicOrderProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor')
+↳ [EidolonProcessor](EidolonProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor')
+↳ [ElementProcessor](ElementProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor')
+↳ [EpithetProcessor](EpithetProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor')
+↳ [HellknightOrderProcessor](HellknightOrderProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.HellknightOrderProcessor')
+↳ [HuntersEdgeProcessor](HuntersEdgeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.HuntersEdgeProcessor')
+↳ [HybridStudyProcessor](HybridStudyProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.HybridStudyProcessor')
+↳ [IkonProcessor](IkonProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.IkonProcessor')
+↳ [ImplementProcessor](ImplementProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ImplementProcessor')
+↳ [InnovationProcessor](InnovationProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.InnovationProcessor')
+↳ [InstinctProcessor](InstinctProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.InstinctProcessor')
+↳ [LessonProcessor](LessonProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.LessonProcessor')
+↳ [MethodologyProcessor](MethodologyProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.MethodologyProcessor')
+↳ [MuseProcessor](MuseProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.MuseProcessor')
+↳ [MysteryProcessor](MysteryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.MysteryProcessor')
+↳ [PatronProcessor](PatronProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.PatronProcessor')
+↳ [PracticeProcessor](PracticeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.PracticeProcessor')
+↳ [RacketProcessor](RacketProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.RacketProcessor')
+↳ [ResearchFieldProcessor](ResearchFieldProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ResearchFieldProcessor')
+↳ [StyleProcessor](StyleProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.StyleProcessor')
+↳ [SubconsciousMindProcessor](SubconsciousMindProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.SubconsciousMindProcessor')
+↳ [TenetProcessor](TenetProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.TenetProcessor')
+↳ [WayProcessor](WayProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.WayProcessor')
+
+| Constructors | |
+| :--- | :--- |
+| [AbstractSubclassProcessor\(ProcessorInput, StringHelper, DatabaseHelper, AonprdBuilderGlobals\)](AbstractSubclassProcessor.AbstractSubclassProcessor(ProcessorInput,StringHelper,DatabaseHelper,AonprdBuilderGlobals).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.AbstractSubclassProcessor\(Pf2e\.Scrapper\.Processors\.ProcessorInput, Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.StringHelper, Pf2e\.Scrapper\.Helpers\.DatabaseHelper, Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\)') | Абстрактный класс\-обработчик сущностей подклассов, полученных из Архивов Нефиса\. Класс предназначен для обработки данных с помощью различных обработчиков, для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\. |
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](AbstractSubclassProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](AbstractSubclassProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](AbstractSubclassProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.Object') | Основная сущность\. |
+| [Type](AbstractSubclassProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](AbstractSubclassProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [AddSpells\(string\)](AbstractSubclassProcessor.AddSpells(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.AddSpells\(string\)') | Добавление заклинаний из строкового представления\. |
+| [AddTrainings\(string\)](AbstractSubclassProcessor.AddTrainings(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.AddTrainings\(string\)') | Добавление тренировок из строкового представления\. |
+| [GetGroup\(\)](AbstractSubclassProcessor.GetGroup().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.GetGroup\(\)') | Получение CLR\-представления группы подклассов, к которому относится обрабатываемый подкласс\. |
+| [Process\(\)](AbstractSubclassProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [ProcessObject\(\)](AbstractSubclassProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/ActionProcessor.Add().md b/Documentation/Pf2e.Scrapper/ActionProcessor.Add().md
new file mode 100644
index 0000000..6f2501b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ActionProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ActionProcessor](ActionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor')
+
+## ActionProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ActionProcessor.AddedDescriptionPaths().md b/Documentation/Pf2e.Scrapper/ActionProcessor.AddedDescriptionPaths().md
new file mode 100644
index 0000000..aa228d0
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ActionProcessor.AddedDescriptionPaths().md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ActionProcessor](ActionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor')
+
+## ActionProcessor\.AddedDescriptionPaths\(\) Method
+
+Получение списка полей, которые должны быть добавлены в описание\.
+
+```csharp
+protected virtual string[] AddedDescriptionPaths();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ActionProcessor.Object.md b/Documentation/Pf2e.Scrapper/ActionProcessor.Object.md
new file mode 100644
index 0000000..4c79af0
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ActionProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ActionProcessor](ActionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor')
+
+## ActionProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Action Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Action](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Action 'Pf2e\.Database\.Model\.Structure\.Action')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ActionProcessor.Process().md b/Documentation/Pf2e.Scrapper/ActionProcessor.Process().md
new file mode 100644
index 0000000..3b26da4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ActionProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ActionProcessor](ActionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor')
+
+## ActionProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ActionProcessor.Type.md b/Documentation/Pf2e.Scrapper/ActionProcessor.Type.md
new file mode 100644
index 0000000..afb2d83
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ActionProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ActionProcessor](ActionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor')
+
+## ActionProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ActionProcessor.md b/Documentation/Pf2e.Scrapper/ActionProcessor.md
new file mode 100644
index 0000000..af34e16
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ActionProcessor.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## ActionProcessor Class
+
+```csharp
+internal class ActionProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 ActionProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](ActionProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor\.Object') | Основная сущность\. |
+| [Type](ActionProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](ActionProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [AddedDescriptionPaths\(\)](ActionProcessor.AddedDescriptionPaths().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor\.AddedDescriptionPaths\(\)') | Получение списка полей, которые должны быть добавлены в описание\. |
+| [Process\(\)](ActionProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ActionProcessor\.Process\(\)') | Основной метод обработки данных\. |
diff --git a/Documentation/Pf2e.Scrapper/AncestryProcessor.Add().md b/Documentation/Pf2e.Scrapper/AncestryProcessor.Add().md
new file mode 100644
index 0000000..53ee986
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AncestryProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[AncestryProcessor](AncestryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor')
+
+## AncestryProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AncestryProcessor.Object.md b/Documentation/Pf2e.Scrapper/AncestryProcessor.Object.md
new file mode 100644
index 0000000..dbe8ee1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AncestryProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[AncestryProcessor](AncestryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor')
+
+## AncestryProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Ancestry Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Ancestry](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Ancestry 'Pf2e\.Database\.Model\.Structure\.Ancestry')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AncestryProcessor.Process().md b/Documentation/Pf2e.Scrapper/AncestryProcessor.Process().md
new file mode 100644
index 0000000..ad557c8
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AncestryProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[AncestryProcessor](AncestryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor')
+
+## AncestryProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AncestryProcessor.Type.md b/Documentation/Pf2e.Scrapper/AncestryProcessor.Type.md
new file mode 100644
index 0000000..1001049
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AncestryProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[AncestryProcessor](AncestryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor')
+
+## AncestryProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AncestryProcessor.md b/Documentation/Pf2e.Scrapper/AncestryProcessor.md
new file mode 100644
index 0000000..664a0a7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AncestryProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## AncestryProcessor Class
+
+```csharp
+internal class AncestryProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 AncestryProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](AncestryProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor\.Object') | Основная сущность\. |
+| [Type](AncestryProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](AncestryProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [Process\(\)](AncestryProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.AncestryProcessor\.Process\(\)') | Основной метод обработки данных\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.AonprdBuilderGlobals().md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.AonprdBuilderGlobals().md
new file mode 100644
index 0000000..97169cc
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.AonprdBuilderGlobals().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\(\) Constructor
+
+Конструктор класса [AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')\.
+
+```csharp
+public AonprdBuilderGlobals();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.AonprdTarget.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.AonprdTarget.md
new file mode 100644
index 0000000..faccc4e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.AonprdTarget.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.AonprdTarget Property
+
+Цель внешних ссылок Архивов Нефисов\.
+
+```csharp
+public Pf2e.Database.Model.Base.Targets.ExternalTarget AonprdTarget { get; set; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Base.Targets.ExternalTarget 'Pf2e\.Database\.Model\.Base\.Targets\.ExternalTarget')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.GetSlugSuffix(string).md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.GetSlugSuffix(string).md
new file mode 100644
index 0000000..2e795fd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.GetSlugSuffix(string).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.GetSlugSuffix\(string\) Method
+
+Получить суффикс для ссылки\.
+
+```csharp
+public string GetSlugSuffix(string id);
+```
+#### Parameters
+
+
+
+`id` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Идентификатор Aonprd\.
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Суффикс для ссылки или пустая строка\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.Ignore.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.Ignore.md
new file mode 100644
index 0000000..5c6ecfd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.Ignore.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.Ignore Property
+
+Список идентификаторов сущностей, которые нужно игнорировать при обработке\.
+
+```csharp
+public System.Collections.Generic.List Ignore { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.List<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.List-1 'System\.Collections\.Generic\.List\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.JsonToDictionary(JObject,string).md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.JsonToDictionary(JObject,string).md
new file mode 100644
index 0000000..20a0035
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.JsonToDictionary(JObject,string).md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.JsonToDictionary\(JObject, string\) Method
+
+Преобразовать JSON\-объект в словарь\.
+
+```csharp
+public static System.Collections.Generic.Dictionary JsonToDictionary(Newtonsoft.Json.Linq.JObject json, string tokenPath);
+```
+#### Parameters
+
+
+
+`json` [Newtonsoft\.Json\.Linq\.JObject](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JObject 'Newtonsoft\.Json\.Linq\.JObject')
+
+Исходный JSON\-объект\.
+
+
+
+`tokenPath` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Путь к токену в JSON\.
+
+#### Returns
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
+Результирующий словарь\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.LegacyRemasterExtra.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.LegacyRemasterExtra.md
new file mode 100644
index 0000000..5e3e16a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.LegacyRemasterExtra.md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.LegacyRemasterExtra Property
+
+Словарь допольнительных проверок связей\.
+Ключ \- устаревшая сущность, значение \- обновлённая\.
+
+```csharp
+public System.Collections.Generic.Dictionary LegacyRemasterExtra { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.MergeSources.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.MergeSources.md
new file mode 100644
index 0000000..4e0ad89
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.MergeSources.md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.MergeSources Property
+
+Словарь сущностей, которые нужно слить с другой/другими\.
+Ключ \- пропускаемая сущность\. Значение \- целевая сущность\.
+
+```csharp
+public System.Collections.Generic.Dictionary MergeSources { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SlugSuffixes.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SlugSuffixes.md
new file mode 100644
index 0000000..8eaad7a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SlugSuffixes.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.SlugSuffixes Property
+
+Словарей суффиксов для сущностей
+
+```csharp
+public System.Collections.Generic.Dictionary SlugSuffixes { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SourceIds.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SourceIds.md
new file mode 100644
index 0000000..25fa0bd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SourceIds.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.SourceIds Property
+
+Словарь идентификаторов источников\.
+
+```csharp
+public System.Collections.Generic.Dictionary SourceIds { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SubclassGroups.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SubclassGroups.md
new file mode 100644
index 0000000..3963481
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.SubclassGroups.md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.SubclassGroups Property
+
+Словарь сущностей, которые нужно слить с другой/другими\.
+Ключ \- пропускаемая сущность\. Значение \- целевая сущность\.
+
+```csharp
+public System.Collections.Generic.Dictionary SubclassGroups { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.TraitIds.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.TraitIds.md
new file mode 100644
index 0000000..810b2fd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.TraitIds.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')
+
+## AonprdBuilderGlobals\.TraitIds Property
+
+Словарь идентификаторов признаков\.
+
+```csharp
+public System.Collections.Generic.Dictionary TraitIds { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.md b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.md
new file mode 100644
index 0000000..ea9c8ad
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdBuilderGlobals.md
@@ -0,0 +1,32 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers')
+
+## AonprdBuilderGlobals Class
+
+Класс\-помощник, хранящий необходимые глобальные данные\.
+
+```csharp
+internal class AonprdBuilderGlobals
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AonprdBuilderGlobals
+
+| Constructors | |
+| :--- | :--- |
+| [AonprdBuilderGlobals\(\)](AonprdBuilderGlobals.AonprdBuilderGlobals().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.AonprdBuilderGlobals\(\)') | Конструктор класса [AonprdBuilderGlobals](AonprdBuilderGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals')\. |
+
+| Properties | |
+| :--- | :--- |
+| [AonprdTarget](AonprdBuilderGlobals.AonprdTarget.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.AonprdTarget') | Цель внешних ссылок Архивов Нефисов\. |
+| [Ignore](AonprdBuilderGlobals.Ignore.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.Ignore') | Список идентификаторов сущностей, которые нужно игнорировать при обработке\. |
+| [LegacyRemasterExtra](AonprdBuilderGlobals.LegacyRemasterExtra.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.LegacyRemasterExtra') | Словарь допольнительных проверок связей\. Ключ \- устаревшая сущность, значение \- обновлённая\. |
+| [MergeSources](AonprdBuilderGlobals.MergeSources.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.MergeSources') | Словарь сущностей, которые нужно слить с другой/другими\. Ключ \- пропускаемая сущность\. Значение \- целевая сущность\. |
+| [SlugSuffixes](AonprdBuilderGlobals.SlugSuffixes.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.SlugSuffixes') | Словарей суффиксов для сущностей |
+| [SourceIds](AonprdBuilderGlobals.SourceIds.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.SourceIds') | Словарь идентификаторов источников\. |
+| [SubclassGroups](AonprdBuilderGlobals.SubclassGroups.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.SubclassGroups') | Словарь сущностей, которые нужно слить с другой/другими\. Ключ \- пропускаемая сущность\. Значение \- целевая сущность\. |
+| [TraitIds](AonprdBuilderGlobals.TraitIds.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.TraitIds') | Словарь идентификаторов признаков\. |
+
+| Methods | |
+| :--- | :--- |
+| [GetSlugSuffix\(string\)](AonprdBuilderGlobals.GetSlugSuffix(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.GetSlugSuffix\(string\)') | Получить суффикс для ссылки\. |
+| [JsonToDictionary\(JObject, string\)](AonprdBuilderGlobals.JsonToDictionary(JObject,string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdBuilderGlobals\.JsonToDictionary\(Newtonsoft\.Json\.Linq\.JObject, string\)') | Преобразовать JSON\-объект в словарь\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendium.AonprdCompendium(AonprdRepository).md b/Documentation/Pf2e.Scrapper/AonprdCompendium.AonprdCompendium(AonprdRepository).md
new file mode 100644
index 0000000..df4728e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendium.AonprdCompendium(AonprdRepository).md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendium](AonprdCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium')
+
+## AonprdCompendium\(AonprdRepository\) Constructor
+
+Класс хранения данных компендиума\.
+
+```csharp
+public AonprdCompendium(Pf2e.Scrapper.Importers.Implementations.Aonprd.AonprdRepository repository);
+```
+#### Parameters
+
+
+
+`repository` [AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendium.Count(ICollection_string_).md b/Documentation/Pf2e.Scrapper/AonprdCompendium.Count(ICollection_string_).md
new file mode 100644
index 0000000..5483731
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendium.Count(ICollection_string_).md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendium](AonprdCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium')
+
+## AonprdCompendium\.Count\(ICollection\\) Method
+
+Возвращает количество элементов для указанного типа данных\.
+
+```csharp
+public override int Count(System.Collections.Generic.ICollection types);
+```
+#### Parameters
+
+
+
+`types` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+#### Returns
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+Количество элементов\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendium.Items.md b/Documentation/Pf2e.Scrapper/AonprdCompendium.Items.md
new file mode 100644
index 0000000..b4dbae5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendium.Items.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendium](AonprdCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium')
+
+## AonprdCompendium\.Items Property
+
+Коллекция всех записей компендиума\.
+
+```csharp
+public System.Collections.Concurrent.ConcurrentBag Items { get; }
+```
+
+#### Property Value
+[System\.Collections\.Concurrent\.ConcurrentBag<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Concurrent.ConcurrentBag-1 'System\.Collections\.Concurrent\.ConcurrentBag\`1')[AonprdCompendiumItem](AonprdCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Concurrent.ConcurrentBag-1 'System\.Collections\.Concurrent\.ConcurrentBag\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendium.Iterate(ICollection_string_).md b/Documentation/Pf2e.Scrapper/AonprdCompendium.Iterate(ICollection_string_).md
new file mode 100644
index 0000000..e6b3e47
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendium.Iterate(ICollection_string_).md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendium](AonprdCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium')
+
+## AonprdCompendium\.Iterate\(ICollection\\) Method
+
+Получение итератора сущностей\. Если указан тип type \- то только указанного типа\.
+
+```csharp
+public override System.Collections.Generic.IEnumerable> Iterate(System.Collections.Generic.ICollection types);
+```
+#### Parameters
+
+
+
+`types` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+#### Returns
+[System\.Collections\.Generic\.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.Tuple<](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[Newtonsoft\.Json\.Linq\.JObject](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JObject 'Newtonsoft\.Json\.Linq\.JObject')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
+Итератор сущностей\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendium.Repository.md b/Documentation/Pf2e.Scrapper/AonprdCompendium.Repository.md
new file mode 100644
index 0000000..511472f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendium.Repository.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendium](AonprdCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium')
+
+## AonprdCompendium\.Repository Property
+
+Репозиторий данных\.
+
+```csharp
+public virtual Pf2e.Scrapper.Importers.Implementations.Aonprd.AonprdRepository Repository { get; }
+```
+
+#### Property Value
+[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendium.md b/Documentation/Pf2e.Scrapper/AonprdCompendium.md
new file mode 100644
index 0000000..5fe10c6
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendium.md
@@ -0,0 +1,26 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium')
+
+## AonprdCompendium Class
+
+Класс хранения данных компендиума\.
+
+```csharp
+internal sealed class AonprdCompendium : Pf2e.Scrapper.Importers.AbstractCompendium
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractCompendium](AbstractCompendium.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium') 🡒 AonprdCompendium
+
+| Constructors | |
+| :--- | :--- |
+| [AonprdCompendium\(AonprdRepository\)](AonprdCompendium.AonprdCompendium(AonprdRepository).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium\.AonprdCompendium\(Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\)') | Класс хранения данных компендиума\. |
+
+| Properties | |
+| :--- | :--- |
+| [Items](AonprdCompendium.Items.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium\.Items') | Коллекция всех записей компендиума\. |
+| [Repository](AonprdCompendium.Repository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium\.Repository') | Репозиторий данных\. |
+
+| Methods | |
+| :--- | :--- |
+| [Count\(ICollection<string>\)](AonprdCompendium.Count(ICollection_string_).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium\.Count\(System\.Collections\.Generic\.ICollection\\)') | Возвращает количество элементов для указанного типа данных\. |
+| [Iterate\(ICollection<string>\)](AonprdCompendium.Iterate(ICollection_string_).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendium\.Iterate\(System\.Collections\.Generic\.ICollection\\)') | Получение итератора сущностей\. Если указан тип type \- то только указанного типа\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.AonprdCompendiumItem(string,string).md b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.AonprdCompendiumItem(string,string).md
new file mode 100644
index 0000000..f600099
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.AonprdCompendiumItem(string,string).md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendiumItem](AonprdCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem')
+
+## AonprdCompendiumItem\(string, string\) Constructor
+
+Ссылка на сущность с указанием файла, в котором она хранится\.
+
+```csharp
+public AonprdCompendiumItem(string id, string file);
+```
+#### Parameters
+
+
+
+`id` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Идентификатор сущности\.
+
+
+
+`file` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Имя файла\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.File.md b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.File.md
new file mode 100644
index 0000000..32734c2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.File.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendiumItem](AonprdCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem')
+
+## AonprdCompendiumItem\.File Property
+
+Имя файла, в котором хранится сущность\.
+
+```csharp
+public string File { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.Id.md b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.Id.md
new file mode 100644
index 0000000..0c8dfb4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.Id.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendiumItem](AonprdCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem')
+
+## AonprdCompendiumItem\.Id Property
+
+Идентификатор сущности\.
+
+```csharp
+public override string Id { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.ResolveType(string).md b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.ResolveType(string).md
new file mode 100644
index 0000000..6cfdc91
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.ResolveType(string).md
@@ -0,0 +1,18 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendiumItem](AonprdCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem')
+
+## AonprdCompendiumItem\.ResolveType\(string\) Method
+
+Определение типа сущности как префикса идентификатора\.
+
+```csharp
+public static string ResolveType(string id);
+```
+#### Parameters
+
+
+
+`id` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.Type.md b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.Type.md
new file mode 100644
index 0000000..6fbd367
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium').[AonprdCompendiumItem](AonprdCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem')
+
+## AonprdCompendiumItem\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override string Type { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.md b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.md
new file mode 100644
index 0000000..65138dc
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdCompendiumItem.md
@@ -0,0 +1,26 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium](Pf2e.Scrapper.Importers.Implementations.Aonprd.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium')
+
+## AonprdCompendiumItem Class
+
+Ссылка на сущность с указанием файла, в котором она хранится\.
+
+```csharp
+internal class AonprdCompendiumItem : Pf2e.Scrapper.Importers.AbstractCompendiumItem
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem') 🡒 AonprdCompendiumItem
+
+| Constructors | |
+| :--- | :--- |
+| [AonprdCompendiumItem\(string, string\)](AonprdCompendiumItem.AonprdCompendiumItem(string,string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem\.AonprdCompendiumItem\(string, string\)') | Ссылка на сущность с указанием файла, в котором она хранится\. |
+
+| Properties | |
+| :--- | :--- |
+| [File](AonprdCompendiumItem.File.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem\.File') | Имя файла, в котором хранится сущность\. |
+| [Id](AonprdCompendiumItem.Id.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem\.Id') | Идентификатор сущности\. |
+| [Type](AonprdCompendiumItem.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [ResolveType\(string\)](AonprdCompendiumItem.ResolveType(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Compendium\.AonprdCompendiumItem\.ResolveType\(string\)') | Определение типа сущности как префикса идентификатора\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdImporter.Name.md b/Documentation/Pf2e.Scrapper/AonprdImporter.Name.md
new file mode 100644
index 0000000..5fb0064
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdImporter.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdImporter](AonprdImporter.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter')
+
+## AonprdImporter\.Name Property
+
+Отображаемое имя импортёра\.
+
+```csharp
+public override string Name { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdImporter.Slug.md b/Documentation/Pf2e.Scrapper/AonprdImporter.Slug.md
new file mode 100644
index 0000000..310db1e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdImporter.Slug.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdImporter](AonprdImporter.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter')
+
+## AonprdImporter\.Slug Property
+
+Короткое имя импортёра\.
+
+```csharp
+public override string Slug { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdImporter.TargetName.md b/Documentation/Pf2e.Scrapper/AonprdImporter.TargetName.md
new file mode 100644
index 0000000..0fb6551
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdImporter.TargetName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdImporter](AonprdImporter.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter')
+
+## AonprdImporter\.TargetName Field
+
+Название внешней ссылки\.
+
+```csharp
+public const string TargetName = "Archives of Nethys Pathfinder 2e";
+```
+
+#### Field Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdImporter.md b/Documentation/Pf2e.Scrapper/AonprdImporter.md
new file mode 100644
index 0000000..3141bad
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdImporter.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd')
+
+## AonprdImporter Class
+
+Класс обработки данных с сайта Архивов Нефеса\.
+
+```csharp
+internal class AonprdImporter : Pf2e.Scrapper.Importers.AbstractImporter
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractImporter](AbstractImporter.md 'Pf2e\.Scrapper\.Importers\.AbstractImporter') 🡒 AonprdImporter
+
+| Fields | |
+| :--- | :--- |
+| [TargetName](AonprdImporter.TargetName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter\.TargetName') | Название внешней ссылки\. |
+
+| Properties | |
+| :--- | :--- |
+| [Name](AonprdImporter.Name.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter\.Name') | Отображаемое имя импортёра\. |
+| [Slug](AonprdImporter.Slug.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter\.Slug') | Короткое имя импортёра\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.Actions.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.Actions.md
new file mode 100644
index 0000000..c040ced
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.Actions.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension').[ActionStruct](AonprdProcessorInputExtension.ActionStruct.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct')
+
+## AonprdProcessorInputExtension\.ActionStruct\.Actions Property
+
+Количество действий
+
+```csharp
+public int Actions { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsFreeAction.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsFreeAction.md
new file mode 100644
index 0000000..2a04c38
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsFreeAction.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension').[ActionStruct](AonprdProcessorInputExtension.ActionStruct.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct')
+
+## AonprdProcessorInputExtension\.ActionStruct\.IsFreeAction Property
+
+Флаг, указывающий, что можно использовать свободное действие\.
+
+```csharp
+public bool IsFreeAction { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsPassive.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsPassive.md
new file mode 100644
index 0000000..a094af0
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsPassive.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension').[ActionStruct](AonprdProcessorInputExtension.ActionStruct.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct')
+
+## AonprdProcessorInputExtension\.ActionStruct\.IsPassive Property
+
+Флаг, указывающий, что действия не требуются\.
+
+```csharp
+public bool IsPassive { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsReaction.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsReaction.md
new file mode 100644
index 0000000..a4c5eb9
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.IsReaction.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension').[ActionStruct](AonprdProcessorInputExtension.ActionStruct.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct')
+
+## AonprdProcessorInputExtension\.ActionStruct\.IsReaction Property
+
+Флаг, указывающий, что действие может быть использовано как реакция\.
+
+```csharp
+public bool IsReaction { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.MaxActions.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.MaxActions.md
new file mode 100644
index 0000000..6a2f123
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.MaxActions.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension').[ActionStruct](AonprdProcessorInputExtension.ActionStruct.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct')
+
+## AonprdProcessorInputExtension\.ActionStruct\.MaxActions Property
+
+Максимальное количество действий
+
+```csharp
+public int MaxActions { get; set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.TwoRounds.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.TwoRounds.md
new file mode 100644
index 0000000..11eb85b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.TwoRounds.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension').[ActionStruct](AonprdProcessorInputExtension.ActionStruct.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct')
+
+## AonprdProcessorInputExtension\.ActionStruct\.TwoRounds Property
+
+Флаг, указывающий, что действие может быть продлено до 2 раундов\.
+
+```csharp
+public bool TwoRounds { get; set; }
+```
+
+#### Property Value
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.md
new file mode 100644
index 0000000..237722f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ActionStruct.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension')
+
+## AonprdProcessorInputExtension\.ActionStruct Class
+
+Класс структуры, хранящей информацию о количетсве действий\.
+
+```csharp
+public class AonprdProcessorInputExtension.ActionStruct
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ActionStruct
+
+| Properties | |
+| :--- | :--- |
+| [Actions](AonprdProcessorInputExtension.ActionStruct.Actions.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct\.Actions') | Количество действий |
+| [IsFreeAction](AonprdProcessorInputExtension.ActionStruct.IsFreeAction.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct\.IsFreeAction') | Флаг, указывающий, что можно использовать свободное действие\. |
+| [IsPassive](AonprdProcessorInputExtension.ActionStruct.IsPassive.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct\.IsPassive') | Флаг, указывающий, что действия не требуются\. |
+| [IsReaction](AonprdProcessorInputExtension.ActionStruct.IsReaction.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct\.IsReaction') | Флаг, указывающий, что действие может быть использовано как реакция\. |
+| [MaxActions](AonprdProcessorInputExtension.ActionStruct.MaxActions.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct\.MaxActions') | Максимальное количество действий |
+| [TwoRounds](AonprdProcessorInputExtension.ActionStruct.TwoRounds.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct\.TwoRounds') | Флаг, указывающий, что действие может быть продлено до 2 раундов\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ResolveActionString(thisProcessorInput,string).md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ResolveActionString(thisProcessorInput,string).md
new file mode 100644
index 0000000..1503425
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.ResolveActionString(thisProcessorInput,string).md
@@ -0,0 +1,25 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers').[AonprdProcessorInputExtension](AonprdProcessorInputExtension.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension')
+
+## AonprdProcessorInputExtension\.ResolveActionString\(this ProcessorInput, string\) Method
+
+Обработать строку, содержащую информацию о количестве действий\.
+
+```csharp
+public static Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.AonprdProcessorInputExtension.ActionStruct ResolveActionString(this Pf2e.Scrapper.Processors.ProcessorInput _, string input);
+```
+#### Parameters
+
+
+
+`_` [ProcessorInput](ProcessorInput.md 'Pf2e\.Scrapper\.Processors\.ProcessorInput')
+
+
+
+`input` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Входная строка с данными\.
+
+#### Returns
+[ActionStruct](AonprdProcessorInputExtension.ActionStruct.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ActionStruct')
+Структура, хранящая информацию о количетсве действий\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.md b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.md
new file mode 100644
index 0000000..49b5312
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdProcessorInputExtension.md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers](Pf2e.Scrapper.Importers.Implementations.Aonprd.Helpers.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers')
+
+## AonprdProcessorInputExtension Class
+
+```csharp
+internal static class AonprdProcessorInputExtension
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 AonprdProcessorInputExtension
+
+| Methods | |
+| :--- | :--- |
+| [ResolveActionString\(this ProcessorInput, string\)](AonprdProcessorInputExtension.ResolveActionString(thisProcessorInput,string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Helpers\.AonprdProcessorInputExtension\.ResolveActionString\(this Pf2e\.Scrapper\.Processors\.ProcessorInput, string\)') | Обработать строку, содержащую информацию о количестве действий\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.AonprdRepository(AonprdImporter).md b/Documentation/Pf2e.Scrapper/AonprdRepository.AonprdRepository(AonprdImporter).md
new file mode 100644
index 0000000..cb28451
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.AonprdRepository(AonprdImporter).md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+
+## AonprdRepository\(AonprdImporter\) Constructor
+
+Основной класс для работы с репозиторием данных Aonprd\.
+
+```csharp
+public AonprdRepository(Pf2e.Scrapper.Importers.Implementations.Aonprd.AonprdImporter importer);
+```
+#### Parameters
+
+
+
+`importer` [AonprdImporter](AonprdImporter.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.CheckRevision().md b/Documentation/Pf2e.Scrapper/AonprdRepository.CheckRevision().md
new file mode 100644
index 0000000..eea540f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.CheckRevision().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+
+## AonprdRepository\.CheckRevision\(\) Method
+
+Проверка актуальности данных\.
+
+```csharp
+private bool CheckRevision();
+```
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+true \- актуальная ревизия, false \- устаревшая/отсутсвует\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.Load(string).md b/Documentation/Pf2e.Scrapper/AonprdRepository.Load(string).md
new file mode 100644
index 0000000..144557e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.Load(string).md
@@ -0,0 +1,18 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+
+## AonprdRepository\.Load\(string\) Method
+
+Метод для загрузки данных из API Aonprd\.
+
+```csharp
+private string Load(string url);
+```
+#### Parameters
+
+
+
+`url` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.Revision.md b/Documentation/Pf2e.Scrapper/AonprdRepository.Revision.md
new file mode 100644
index 0000000..e490446
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.Revision.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+
+## AonprdRepository\.Revision Property
+
+Текущая ревизия данных\. Значение обновляется при обновлении репозитория\.
+
+```csharp
+public int Revision { get; private set; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.SearchUrl.md b/Documentation/Pf2e.Scrapper/AonprdRepository.SearchUrl.md
new file mode 100644
index 0000000..ad23b8d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.SearchUrl.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+
+## AonprdRepository\.SearchUrl Field
+
+URL для доступа к API Aonprd\.
+
+```csharp
+public const string SearchUrl = "https://elasticsearch.aonprd.com";
+```
+
+#### Field Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.Update(ProcessProgress).md b/Documentation/Pf2e.Scrapper/AonprdRepository.Update(ProcessProgress).md
new file mode 100644
index 0000000..a96d610
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.Update(ProcessProgress).md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+
+## AonprdRepository\.Update\(ProcessProgress\) Method
+
+Обновление данных в репозитории\.
+
+```csharp
+public override void Update(Pf2e.Scrapper.Helpers.ProcessProgress progress);
+```
+#### Parameters
+
+
+
+`progress` [ProcessProgress](ProcessProgress.md 'Pf2e\.Scrapper\.Helpers\.ProcessProgress')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.WriteFile(string,string).md b/Documentation/Pf2e.Scrapper/AonprdRepository.WriteFile(string,string).md
new file mode 100644
index 0000000..6cb4b9b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.WriteFile(string,string).md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd').[AonprdRepository](AonprdRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository')
+
+## AonprdRepository\.WriteFile\(string, string\) Method
+
+Запись данных в файл\.
+
+```csharp
+private void WriteFile(string path, string content);
+```
+#### Parameters
+
+
+
+`path` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Путь к файлу\.
+
+
+
+`content` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Содержимое, которе требуется записать в файл\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/AonprdRepository.md b/Documentation/Pf2e.Scrapper/AonprdRepository.md
new file mode 100644
index 0000000..bdffd5d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdRepository.md
@@ -0,0 +1,31 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd](Pf2e.Scrapper.Importers.Implementations.Aonprd.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd')
+
+## AonprdRepository Class
+
+Основной класс для работы с репозиторием данных Aonprd\.
+
+```csharp
+internal class AonprdRepository : Pf2e.Scrapper.Importers.Repositories.AbstractImporterRepository
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractImporterRepository](AbstractImporterRepository.md 'Pf2e\.Scrapper\.Importers\.Repositories\.AbstractImporterRepository') 🡒 AonprdRepository
+
+| Constructors | |
+| :--- | :--- |
+| [AonprdRepository\(AonprdImporter\)](AonprdRepository.AonprdRepository(AonprdImporter).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\.AonprdRepository\(Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdImporter\)') | Основной класс для работы с репозиторием данных Aonprd\. |
+
+| Fields | |
+| :--- | :--- |
+| [SearchUrl](AonprdRepository.SearchUrl.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\.SearchUrl') | URL для доступа к API Aonprd\. |
+
+| Properties | |
+| :--- | :--- |
+| [Revision](AonprdRepository.Revision.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\.Revision') | Текущая ревизия данных\. Значение обновляется при обновлении репозитория\. |
+
+| Methods | |
+| :--- | :--- |
+| [CheckRevision\(\)](AonprdRepository.CheckRevision().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\.CheckRevision\(\)') | Проверка актуальности данных\. |
+| [Load\(string\)](AonprdRepository.Load(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\.Load\(string\)') | Метод для загрузки данных из API Aonprd\. |
+| [Update\(ProcessProgress\)](AonprdRepository.Update(ProcessProgress).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\.Update\(Pf2e\.Scrapper\.Helpers\.ProcessProgress\)') | Обновление данных в репозитории\. |
+| [WriteFile\(string, string\)](AonprdRepository.WriteFile(string,string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.AonprdRepository\.WriteFile\(string, string\)') | Запись данных в файл\. |
diff --git a/Documentation/Pf2e.Scrapper/AonprdTypeResolver.md b/Documentation/Pf2e.Scrapper/AonprdTypeResolver.md
new file mode 100644
index 0000000..b07b488
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/AonprdTypeResolver.md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Preparation.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Preparation')
+
+## AonprdTypeResolver Class
+
+Класс для определения типа поля в схеме данных\.
+
+```csharp
+internal class AonprdTypeResolver : Pf2e.Scrapper.SchemaBuilder.TypeResolver
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [TypeResolver](TypeResolver.md 'Pf2e\.Scrapper\.SchemaBuilder\.TypeResolver') 🡒 AonprdTypeResolver
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApparitionProcessor.AddFocal(string).md b/Documentation/Pf2e.Scrapper/ApparitionProcessor.AddFocal(string).md
new file mode 100644
index 0000000..f65982a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApparitionProcessor.AddFocal(string).md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ApparitionProcessor](ApparitionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor')
+
+## ApparitionProcessor\.AddFocal\(string\) Method
+
+Добавление заклинания сосуда\.
+
+```csharp
+public void AddFocal(string description);
+```
+#### Parameters
+
+
+
+`description` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApparitionProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/ApparitionProcessor.ClassName.md
new file mode 100644
index 0000000..d70e617
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApparitionProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ApparitionProcessor](ApparitionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor')
+
+## ApparitionProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApparitionProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/ApparitionProcessor.GroupName.md
new file mode 100644
index 0000000..e18f43d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApparitionProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ApparitionProcessor](ApparitionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor')
+
+## ApparitionProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApparitionProcessor.Object.md b/Documentation/Pf2e.Scrapper/ApparitionProcessor.Object.md
new file mode 100644
index 0000000..e516224
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApparitionProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ApparitionProcessor](ApparitionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor')
+
+## ApparitionProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApparitionProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/ApparitionProcessor.ProcessObject().md
new file mode 100644
index 0000000..48071a5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApparitionProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ApparitionProcessor](ApparitionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor')
+
+## ApparitionProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApparitionProcessor.VesselSpellMarkdownRegex().md b/Documentation/Pf2e.Scrapper/ApparitionProcessor.VesselSpellMarkdownRegex().md
new file mode 100644
index 0000000..f4c8c3f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApparitionProcessor.VesselSpellMarkdownRegex().md
@@ -0,0 +1,28 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ApparitionProcessor](ApparitionProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor')
+
+## ApparitionProcessor\.VesselSpellMarkdownRegex\(\) Method
+
+```csharp
+private static System.Text.RegularExpressions.Regex VesselSpellMarkdownRegex();
+```
+
+#### Returns
+[System\.Text\.RegularExpressions\.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System\.Text\.RegularExpressions\.Regex')
+
+### Remarks
+Pattern:
+
+```csharp
+\\*\\*Vessel Spell\\*\\* \\[.*?\\]\\(/Spells\\.aspx\\?ID=(\\d+)\\)
+```
+Explanation:
+
+```csharp
+○ Match the string "**Vessel Spell** [".
+○ Match a character other than '\n' lazily any number of times.
+○ Match the string "](/Spells.aspx?ID=".
+○ 1st capture group.
+ ○ Match a Unicode digit atomically at least once.
+○ Match ')'.
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApparitionProcessor.md b/Documentation/Pf2e.Scrapper/ApparitionProcessor.md
new file mode 100644
index 0000000..f6561c3
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApparitionProcessor.md
@@ -0,0 +1,22 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## ApparitionProcessor Class
+
+```csharp
+internal class ApparitionProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 ApparitionProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](ApparitionProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](ApparitionProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](ApparitionProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [AddFocal\(string\)](ApparitionProcessor.AddFocal(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor\.AddFocal\(string\)') | Добавление заклинания сосуда\. |
+| [ProcessObject\(\)](ApparitionProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
+| [VesselSpellMarkdownRegex\(\)](ApparitionProcessor.VesselSpellMarkdownRegex().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ApparitionProcessor\.VesselSpellMarkdownRegex\(\)') | |
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.ApplicationSettings().md b/Documentation/Pf2e.Scrapper/ApplicationSettings.ApplicationSettings().md
new file mode 100644
index 0000000..7e27fd5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.ApplicationSettings().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')
+
+## ApplicationSettings\(\) Constructor
+
+Конструктор класса [ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')\.
+
+```csharp
+public ApplicationSettings();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.DataDir.md b/Documentation/Pf2e.Scrapper/ApplicationSettings.DataDir.md
new file mode 100644
index 0000000..4ab4ee0
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.DataDir.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')
+
+## ApplicationSettings\.DataDir Property
+
+Папка в входными данными\.
+
+```csharp
+public System.IO.DirectoryInfo DataDir { get; }
+```
+
+#### Property Value
+[System\.IO\.DirectoryInfo](https://docs.microsoft.com/en-us/dotnet/api/System.IO.DirectoryInfo 'System\.IO\.DirectoryInfo')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.DataDirPath.md b/Documentation/Pf2e.Scrapper/ApplicationSettings.DataDirPath.md
new file mode 100644
index 0000000..21fe887
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.DataDirPath.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')
+
+## ApplicationSettings\.DataDirPath Property
+
+Путь к папке с входными данными\.
+
+```csharp
+public string DataDirPath { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.DatabaseConnection.md b/Documentation/Pf2e.Scrapper/ApplicationSettings.DatabaseConnection.md
new file mode 100644
index 0000000..8b793e1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.DatabaseConnection.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')
+
+## ApplicationSettings\.DatabaseConnection Property
+
+Строка подключения к базе данных\.
+
+```csharp
+public string DatabaseConnection { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.MaxThreads.md b/Documentation/Pf2e.Scrapper/ApplicationSettings.MaxThreads.md
new file mode 100644
index 0000000..95d4efa
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.MaxThreads.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')
+
+## ApplicationSettings\.MaxThreads Property
+
+Максимальное количество потоков\.
+
+```csharp
+public int MaxThreads { get; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.OutputDir.md b/Documentation/Pf2e.Scrapper/ApplicationSettings.OutputDir.md
new file mode 100644
index 0000000..f60c6ae
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.OutputDir.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')
+
+## ApplicationSettings\.OutputDir Property
+
+Папка для сохранения результатов\.
+
+```csharp
+public string OutputDir { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.OutputDirPath.md b/Documentation/Pf2e.Scrapper/ApplicationSettings.OutputDirPath.md
new file mode 100644
index 0000000..10a3c3e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.OutputDirPath.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')
+
+## ApplicationSettings\.OutputDirPath Property
+
+Путь к папке для сохранения результатов\.
+
+```csharp
+public string OutputDirPath { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ApplicationSettings.md b/Documentation/Pf2e.Scrapper/ApplicationSettings.md
new file mode 100644
index 0000000..9a4e2d3
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ApplicationSettings.md
@@ -0,0 +1,25 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper')
+
+## ApplicationSettings Class
+
+Настройки программы\.
+
+```csharp
+internal class ApplicationSettings
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ApplicationSettings
+
+| Constructors | |
+| :--- | :--- |
+| [ApplicationSettings\(\)](ApplicationSettings.ApplicationSettings().md 'Pf2e\.Scrapper\.ApplicationSettings\.ApplicationSettings\(\)') | Конструктор класса [ApplicationSettings](ApplicationSettings.md 'Pf2e\.Scrapper\.ApplicationSettings')\. |
+
+| Properties | |
+| :--- | :--- |
+| [DatabaseConnection](ApplicationSettings.DatabaseConnection.md 'Pf2e\.Scrapper\.ApplicationSettings\.DatabaseConnection') | Строка подключения к базе данных\. |
+| [DataDir](ApplicationSettings.DataDir.md 'Pf2e\.Scrapper\.ApplicationSettings\.DataDir') | Папка в входными данными\. |
+| [DataDirPath](ApplicationSettings.DataDirPath.md 'Pf2e\.Scrapper\.ApplicationSettings\.DataDirPath') | Путь к папке с входными данными\. |
+| [MaxThreads](ApplicationSettings.MaxThreads.md 'Pf2e\.Scrapper\.ApplicationSettings\.MaxThreads') | Максимальное количество потоков\. |
+| [OutputDir](ApplicationSettings.OutputDir.md 'Pf2e\.Scrapper\.ApplicationSettings\.OutputDir') | Папка для сохранения результатов\. |
+| [OutputDirPath](ApplicationSettings.OutputDirPath.md 'Pf2e\.Scrapper\.ApplicationSettings\.OutputDirPath') | Путь к папке для сохранения результатов\. |
diff --git a/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.ClassName.md
new file mode 100644
index 0000000..21ae327
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneSchoolProcessor](ArcaneSchoolProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor')
+
+## ArcaneSchoolProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.GroupName.md
new file mode 100644
index 0000000..b412d6a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneSchoolProcessor](ArcaneSchoolProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor')
+
+## ArcaneSchoolProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.Object.md b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.Object.md
new file mode 100644
index 0000000..bd45697
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneSchoolProcessor](ArcaneSchoolProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor')
+
+## ArcaneSchoolProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.ProcessObject().md
new file mode 100644
index 0000000..fd0a890
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneSchoolProcessor](ArcaneSchoolProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor')
+
+## ArcaneSchoolProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.md b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.md
new file mode 100644
index 0000000..bff79d8
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneSchoolProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## ArcaneSchoolProcessor Class
+
+```csharp
+internal class ArcaneSchoolProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 ArcaneSchoolProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](ArcaneSchoolProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](ArcaneSchoolProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](ArcaneSchoolProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](ArcaneSchoolProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneSchoolProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.ClassName.md
new file mode 100644
index 0000000..9416533
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneThesisProcessor](ArcaneThesisProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor')
+
+## ArcaneThesisProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.GroupName.md
new file mode 100644
index 0000000..1913572
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneThesisProcessor](ArcaneThesisProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor')
+
+## ArcaneThesisProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.Object.md b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.Object.md
new file mode 100644
index 0000000..f2a83af
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneThesisProcessor](ArcaneThesisProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor')
+
+## ArcaneThesisProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.ProcessObject().md
new file mode 100644
index 0000000..6f3929d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ArcaneThesisProcessor](ArcaneThesisProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor')
+
+## ArcaneThesisProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.md b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.md
new file mode 100644
index 0000000..4c83304
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArcaneThesisProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## ArcaneThesisProcessor Class
+
+```csharp
+internal class ArcaneThesisProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 ArcaneThesisProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](ArcaneThesisProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](ArcaneThesisProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](ArcaneThesisProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](ArcaneThesisProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ArcaneThesisProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Add().md b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Add().md
new file mode 100644
index 0000000..7bc6b0f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ArchetypeProcessor](ArchetypeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor')
+
+## ArchetypeProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArchetypeProcessor.AddedDescriptionPaths().md b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.AddedDescriptionPaths().md
new file mode 100644
index 0000000..454d47e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.AddedDescriptionPaths().md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ArchetypeProcessor](ArchetypeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor')
+
+## ArchetypeProcessor\.AddedDescriptionPaths\(\) Method
+
+Получение списка полей, которые должны быть добавлены в описание\.
+
+```csharp
+protected virtual string[] AddedDescriptionPaths();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Object.md b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Object.md
new file mode 100644
index 0000000..86d1326
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ArchetypeProcessor](ArchetypeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor')
+
+## ArchetypeProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Archetype Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Archetype](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Archetype 'Pf2e\.Database\.Model\.Structure\.Archetype')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Process().md b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Process().md
new file mode 100644
index 0000000..f47df19
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ArchetypeProcessor](ArchetypeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor')
+
+## ArchetypeProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Type.md b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Type.md
new file mode 100644
index 0000000..c48546c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ArchetypeProcessor](ArchetypeProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor')
+
+## ArchetypeProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArchetypeProcessor.md b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.md
new file mode 100644
index 0000000..91f5bea
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArchetypeProcessor.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## ArchetypeProcessor Class
+
+```csharp
+internal class ArchetypeProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 ArchetypeProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](ArchetypeProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor\.Object') | Основная сущность\. |
+| [Type](ArchetypeProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](ArchetypeProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [AddedDescriptionPaths\(\)](ArchetypeProcessor.AddedDescriptionPaths().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor\.AddedDescriptionPaths\(\)') | Получение списка полей, которые должны быть добавлены в описание\. |
+| [Process\(\)](ArchetypeProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ArchetypeProcessor\.Process\(\)') | Основной метод обработки данных\. |
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.AddValue(JToken).md b/Documentation/Pf2e.Scrapper/ArraySchemaType.AddValue(JToken).md
new file mode 100644
index 0000000..f0ed54a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.AddValue(JToken).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.AddValue\(JToken\) Method
+
+Добавление нового значения\.
+
+```csharp
+public override void AddValue(Newtonsoft.Json.Linq.JToken value);
+```
+#### Parameters
+
+
+
+`value` [Newtonsoft\.Json\.Linq\.JToken](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JToken 'Newtonsoft\.Json\.Linq\.JToken')
+
+Новое значение\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.ArraySchemaType(SchemaNode).md b/Documentation/Pf2e.Scrapper/ArraySchemaType.ArraySchemaType(SchemaNode).md
new file mode 100644
index 0000000..1cf6cd7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.ArraySchemaType(SchemaNode).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\(SchemaNode\) Constructor
+
+Тип представоления массива в схеме\.
+
+```csharp
+public ArraySchemaType(Pf2e.Scrapper.SchemaBuilder.SchemaNode parent);
+```
+#### Parameters
+
+
+
+`parent` [SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
+
+Элемент, к которому добавляется тип\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.Beautify().md b/Documentation/Pf2e.Scrapper/ArraySchemaType.Beautify().md
new file mode 100644
index 0000000..b9129a2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.Beautify().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.Beautify\(\) Method
+
+Подготовка типа к красивому представлению\.
+
+```csharp
+public override void Beautify();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.ElementSchema.md b/Documentation/Pf2e.Scrapper/ArraySchemaType.ElementSchema.md
new file mode 100644
index 0000000..a8c0139
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.ElementSchema.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.ElementSchema Field
+
+Схема элемента массива\.
+
+```csharp
+protected readonly SchemaNode ElementSchema;
+```
+
+#### Field Value
+[SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.GetTypeName().md b/Documentation/Pf2e.Scrapper/ArraySchemaType.GetTypeName().md
new file mode 100644
index 0000000..055a06f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.GetTypeName().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.GetTypeName\(\) Method
+
+Получение строкового представоения типа элемента\.
+
+```csharp
+public override string GetTypeName();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представоение типа элемента
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.GetYamlData().md b/Documentation/Pf2e.Scrapper/ArraySchemaType.GetYamlData().md
new file mode 100644
index 0000000..a893359
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.GetYamlData().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.GetYamlData\(\) Method
+
+Получение данных для форматирования в YAML\.
+
+```csharp
+public override System.Collections.Generic.Dictionary GetYamlData();
+```
+
+#### Returns
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
+Словарь данных
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.IsCompatibleValue(JToken).md b/Documentation/Pf2e.Scrapper/ArraySchemaType.IsCompatibleValue(JToken).md
new file mode 100644
index 0000000..24b2695
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.IsCompatibleValue(JToken).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.IsCompatibleValue\(JToken\) Method
+
+Проверка, что значение совместимо с текущим типом\.
+
+```csharp
+public override bool IsCompatibleValue(Newtonsoft.Json.Linq.JToken value);
+```
+#### Parameters
+
+
+
+`value` [Newtonsoft\.Json\.Linq\.JToken](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JToken 'Newtonsoft\.Json\.Linq\.JToken')
+
+Проверяемое значение\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+\`true\`, если значение совместимо с текущим типом\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.MaxCount.md b/Documentation/Pf2e.Scrapper/ArraySchemaType.MaxCount.md
new file mode 100644
index 0000000..014a23e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.MaxCount.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.MaxCount Field
+
+Максимальное количество элементов в массиве\.
+
+```csharp
+public int MaxCount;
+```
+
+#### Field Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.MinCount.md b/Documentation/Pf2e.Scrapper/ArraySchemaType.MinCount.md
new file mode 100644
index 0000000..a6e51af
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.MinCount.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[ArraySchemaType](ArraySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType')
+
+## ArraySchemaType\.MinCount Field
+
+Минимальное количество элементов в массиве\.
+
+```csharp
+public int MinCount;
+```
+
+#### Field Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ArraySchemaType.md b/Documentation/Pf2e.Scrapper/ArraySchemaType.md
new file mode 100644
index 0000000..eb84f83
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ArraySchemaType.md
@@ -0,0 +1,30 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types')
+
+## ArraySchemaType Class
+
+Тип представоления массива в схеме\.
+
+```csharp
+internal class ArraySchemaType : Pf2e.Scrapper.SchemaBuilder.Types.AbstractSchemaType
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType') 🡒 ArraySchemaType
+
+| Constructors | |
+| :--- | :--- |
+| [ArraySchemaType\(SchemaNode\)](ArraySchemaType.ArraySchemaType(SchemaNode).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.ArraySchemaType\(Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode\)') | Тип представоления массива в схеме\. |
+
+| Fields | |
+| :--- | :--- |
+| [ElementSchema](ArraySchemaType.ElementSchema.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.ElementSchema') | Схема элемента массива\. |
+| [MaxCount](ArraySchemaType.MaxCount.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.MaxCount') | Максимальное количество элементов в массиве\. |
+| [MinCount](ArraySchemaType.MinCount.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.MinCount') | Минимальное количество элементов в массиве\. |
+
+| Methods | |
+| :--- | :--- |
+| [AddValue\(JToken\)](ArraySchemaType.AddValue(JToken).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.AddValue\(Newtonsoft\.Json\.Linq\.JToken\)') | Добавление нового значения\. |
+| [Beautify\(\)](ArraySchemaType.Beautify().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.Beautify\(\)') | Подготовка типа к красивому представлению\. |
+| [GetTypeName\(\)](ArraySchemaType.GetTypeName().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.GetTypeName\(\)') | Получение строкового представоения типа элемента\. |
+| [GetYamlData\(\)](ArraySchemaType.GetYamlData().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.GetYamlData\(\)') | Получение данных для форматирования в YAML\. |
+| [IsCompatibleValue\(JToken\)](ArraySchemaType.IsCompatibleValue(JToken).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.ArraySchemaType\.IsCompatibleValue\(Newtonsoft\.Json\.Linq\.JToken\)') | Проверка, что значение совместимо с текущим типом\. |
diff --git a/Documentation/Pf2e.Scrapper/BackgroundProcessor.Add().md b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Add().md
new file mode 100644
index 0000000..11bfa52
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[BackgroundProcessor](BackgroundProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor')
+
+## BackgroundProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BackgroundProcessor.AddedDescriptionPaths().md b/Documentation/Pf2e.Scrapper/BackgroundProcessor.AddedDescriptionPaths().md
new file mode 100644
index 0000000..bbfb900
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BackgroundProcessor.AddedDescriptionPaths().md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[BackgroundProcessor](BackgroundProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor')
+
+## BackgroundProcessor\.AddedDescriptionPaths\(\) Method
+
+Получение списка полей, которые должны быть добавлены в описание\.
+
+```csharp
+protected virtual string[] AddedDescriptionPaths();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BackgroundProcessor.Object.md b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Object.md
new file mode 100644
index 0000000..a78c340
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[BackgroundProcessor](BackgroundProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor')
+
+## BackgroundProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Background Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Background](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Background 'Pf2e\.Database\.Model\.Structure\.Background')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BackgroundProcessor.Process().md b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Process().md
new file mode 100644
index 0000000..963cf70
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[BackgroundProcessor](BackgroundProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor')
+
+## BackgroundProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BackgroundProcessor.Type.md b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Type.md
new file mode 100644
index 0000000..33d078d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BackgroundProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[BackgroundProcessor](BackgroundProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor')
+
+## BackgroundProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BackgroundProcessor.md b/Documentation/Pf2e.Scrapper/BackgroundProcessor.md
new file mode 100644
index 0000000..a241d72
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BackgroundProcessor.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## BackgroundProcessor Class
+
+```csharp
+internal class BackgroundProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 BackgroundProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](BackgroundProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor\.Object') | Основная сущность\. |
+| [Type](BackgroundProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](BackgroundProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [AddedDescriptionPaths\(\)](BackgroundProcessor.AddedDescriptionPaths().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor\.AddedDescriptionPaths\(\)') | Получение списка полей, которые должны быть добавлены в описание\. |
+| [Process\(\)](BackgroundProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.BackgroundProcessor\.Process\(\)') | Основной метод обработки данных\. |
diff --git a/Documentation/Pf2e.Scrapper/BloodlineProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/BloodlineProcessor.ClassName.md
new file mode 100644
index 0000000..beed2f3
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BloodlineProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[BloodlineProcessor](BloodlineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor')
+
+## BloodlineProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BloodlineProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/BloodlineProcessor.GroupName.md
new file mode 100644
index 0000000..b5b5513
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BloodlineProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[BloodlineProcessor](BloodlineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor')
+
+## BloodlineProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BloodlineProcessor.Object.md b/Documentation/Pf2e.Scrapper/BloodlineProcessor.Object.md
new file mode 100644
index 0000000..df10abf
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BloodlineProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[BloodlineProcessor](BloodlineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor')
+
+## BloodlineProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BloodlineProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/BloodlineProcessor.ProcessObject().md
new file mode 100644
index 0000000..60d28fd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BloodlineProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[BloodlineProcessor](BloodlineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor')
+
+## BloodlineProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/BloodlineProcessor.md b/Documentation/Pf2e.Scrapper/BloodlineProcessor.md
new file mode 100644
index 0000000..c698d48
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/BloodlineProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## BloodlineProcessor Class
+
+```csharp
+internal class BloodlineProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 BloodlineProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](BloodlineProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](BloodlineProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](BloodlineProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](BloodlineProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.BloodlineProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/CauseProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/CauseProcessor.ClassName.md
new file mode 100644
index 0000000..4e42e15
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CauseProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[CauseProcessor](CauseProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor')
+
+## CauseProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CauseProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/CauseProcessor.GroupName.md
new file mode 100644
index 0000000..0988274
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CauseProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[CauseProcessor](CauseProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor')
+
+## CauseProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CauseProcessor.Object.md b/Documentation/Pf2e.Scrapper/CauseProcessor.Object.md
new file mode 100644
index 0000000..c8b3166
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CauseProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[CauseProcessor](CauseProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor')
+
+## CauseProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CauseProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/CauseProcessor.ProcessObject().md
new file mode 100644
index 0000000..59ef59d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CauseProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[CauseProcessor](CauseProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor')
+
+## CauseProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CauseProcessor.md b/Documentation/Pf2e.Scrapper/CauseProcessor.md
new file mode 100644
index 0000000..3143f8c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CauseProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## CauseProcessor Class
+
+```csharp
+internal class CauseProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 CauseProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](CauseProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](CauseProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](CauseProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](CauseProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.CauseProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.Add().md b/Documentation/Pf2e.Scrapper/ClassProcessor.Add().md
new file mode 100644
index 0000000..190d78e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.GetSaveTrainings().md b/Documentation/Pf2e.Scrapper/ClassProcessor.GetSaveTrainings().md
new file mode 100644
index 0000000..ec74211
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.GetSaveTrainings().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.GetSaveTrainings\(\) Method
+
+Получение CLR\-представления обучений спасброскам\.
+
+```csharp
+protected System.Collections.Generic.ICollection GetSaveTrainings();
+```
+
+#### Returns
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.ClassRelation.ClassTraining 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+Коллекция обучений\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.GetSkillTrainings().md b/Documentation/Pf2e.Scrapper/ClassProcessor.GetSkillTrainings().md
new file mode 100644
index 0000000..e17c30d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.GetSkillTrainings().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.GetSkillTrainings\(\) Method
+
+Получение коллекции обучений, связанных с классом\.
+
+```csharp
+protected System.Collections.Generic.ICollection GetSkillTrainings();
+```
+
+#### Returns
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.ClassRelation.ClassTraining 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+Коллекция обучения\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.GetTrainingString(string).md b/Documentation/Pf2e.Scrapper/ClassProcessor.GetTrainingString(string).md
new file mode 100644
index 0000000..9c9f0ce
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.GetTrainingString(string).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.GetTrainingString\(string\) Method
+
+Получение коллекции названий обучений из строкового представления из Архивов Нефиса\.
+
+```csharp
+protected System.Collections.Generic.ICollection GetTrainingString(string value);
+```
+#### Parameters
+
+
+
+`value` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строковое представление обучений из Архивов Нефиса\.
+
+#### Returns
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+Коллекция названий обучений\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.Object.md b/Documentation/Pf2e.Scrapper/ClassProcessor.Object.md
new file mode 100644
index 0000000..26860e8
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Class Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Class](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Class 'Pf2e\.Database\.Model\.Structure\.Class')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.Process().md b/Documentation/Pf2e.Scrapper/ClassProcessor.Process().md
new file mode 100644
index 0000000..88ba208
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.ProcessClassTrait().md b/Documentation/Pf2e.Scrapper/ClassProcessor.ProcessClassTrait().md
new file mode 100644
index 0000000..ae46da1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.ProcessClassTrait().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.ProcessClassTrait\(\) Method
+
+Объявление соотеветсвующего классу признака классовым\.
+
+```csharp
+protected void ProcessClassTrait();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.ProcessTraining(JArray,TrainingType).md b/Documentation/Pf2e.Scrapper/ClassProcessor.ProcessTraining(JArray,TrainingType).md
new file mode 100644
index 0000000..ce9ecc2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.ProcessTraining(JArray,TrainingType).md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.ProcessTraining\(JArray, TrainingType\) Method
+
+Обработка массива со списком обучений\.
+
+```csharp
+protected System.Collections.Generic.ICollection ProcessTraining(Newtonsoft.Json.Linq.JArray array, Pf2e.Database.Model.Enum.TrainingType type);
+```
+#### Parameters
+
+
+
+`array` [Newtonsoft\.Json\.Linq\.JArray](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JArray 'Newtonsoft\.Json\.Linq\.JArray')
+
+JSON\-массив обучений\.
+
+
+
+`type` [Pf2e\.Database\.Model\.Enum\.TrainingType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.TrainingType 'Pf2e\.Database\.Model\.Enum\.TrainingType')
+
+Тип обучения\.
+
+#### Returns
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.ClassRelation.ClassTraining 'Pf2e\.Database\.Model\.Structure\.ClassRelation\.ClassTraining')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+Коллекция обучений\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.TrainingStringSeparatorRegex().md b/Documentation/Pf2e.Scrapper/ClassProcessor.TrainingStringSeparatorRegex().md
new file mode 100644
index 0000000..bb5f038
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.TrainingStringSeparatorRegex().md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.TrainingStringSeparatorRegex\(\) Method
+
+```csharp
+protected static System.Text.RegularExpressions.Regex TrainingStringSeparatorRegex();
+```
+
+#### Returns
+[System\.Text\.RegularExpressions\.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System\.Text\.RegularExpressions\.Regex')
+
+### Remarks
+Pattern:
+
+```csharp
+\\s*(?:,|and)\\s*
+```
+Explanation:
+
+```csharp
+○ Match a whitespace character atomically any number of times.
+○ Match with 2 alternative expressions.
+ ○ Match ','.
+ ○ Match the string "and".
+○ Match a whitespace character atomically any number of times.
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.Type.md b/Documentation/Pf2e.Scrapper/ClassProcessor.Type.md
new file mode 100644
index 0000000..9b56699
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[ClassProcessor](ClassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor')
+
+## ClassProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ClassProcessor.md b/Documentation/Pf2e.Scrapper/ClassProcessor.md
new file mode 100644
index 0000000..69074c7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ClassProcessor.md
@@ -0,0 +1,26 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## ClassProcessor Class
+
+```csharp
+internal class ClassProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 ClassProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](ClassProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.Object') | Основная сущность\. |
+| [Type](ClassProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](ClassProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [GetSaveTrainings\(\)](ClassProcessor.GetSaveTrainings().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.GetSaveTrainings\(\)') | Получение CLR\-представления обучений спасброскам\. |
+| [GetSkillTrainings\(\)](ClassProcessor.GetSkillTrainings().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.GetSkillTrainings\(\)') | Получение коллекции обучений, связанных с классом\. |
+| [GetTrainingString\(string\)](ClassProcessor.GetTrainingString(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.GetTrainingString\(string\)') | Получение коллекции названий обучений из строкового представления из Архивов Нефиса\. |
+| [Process\(\)](ClassProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [ProcessClassTrait\(\)](ClassProcessor.ProcessClassTrait().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.ProcessClassTrait\(\)') | Объявление соотеветсвующего классу признака классовым\. |
+| [ProcessTraining\(JArray, TrainingType\)](ClassProcessor.ProcessTraining(JArray,TrainingType).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.ProcessTraining\(Newtonsoft\.Json\.Linq\.JArray, Pf2e\.Database\.Model\.Enum\.TrainingType\)') | Обработка массива со списком обучений\. |
+| [TrainingStringSeparatorRegex\(\)](ClassProcessor.TrainingStringSeparatorRegex().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.ClassProcessor\.TrainingStringSeparatorRegex\(\)') | |
diff --git a/Documentation/Pf2e.Scrapper/CollapseCommand.CanExecute(object).md b/Documentation/Pf2e.Scrapper/CollapseCommand.CanExecute(object).md
new file mode 100644
index 0000000..c58c4a2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CollapseCommand.CanExecute(object).md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[CollapseCommand](CollapseCommand.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand')
+
+## CollapseCommand\.CanExecute\(object\) Method
+
+Проверяет, может ли команда быть выполнена с указанным параметром\.
+
+```csharp
+public bool CanExecute(object? parameter);
+```
+#### Parameters
+
+
+
+`parameter` [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')
+
+Параметр, передаваемый команде\.
+
+Implements [CanExecute\(object\)](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand.CanExecute#System_Windows_Input_ICommand_CanExecute_System_Object_ 'System\.Windows\.Input\.ICommand\.CanExecute\(System\.Object\)')
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+`true`, если команда может быть выполнена; в противном случае `false`\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CollapseCommand.CanExecuteChanged.md b/Documentation/Pf2e.Scrapper/CollapseCommand.CanExecuteChanged.md
new file mode 100644
index 0000000..250edb7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CollapseCommand.CanExecuteChanged.md
@@ -0,0 +1,15 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[CollapseCommand](CollapseCommand.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand')
+
+## CollapseCommand\.CanExecuteChanged Event
+
+Событие, вызываемое при изменении возможности выполнения команды\.
+
+```csharp
+public event EventHandler? CanExecuteChanged;
+```
+
+Implements [CanExecuteChanged](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand.CanExecuteChanged 'System\.Windows\.Input\.ICommand\.CanExecuteChanged')
+
+#### Event Type
+[System\.EventHandler](https://docs.microsoft.com/en-us/dotnet/api/System.EventHandler 'System\.EventHandler')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CollapseCommand.CollapseCommand(StructureRow).md b/Documentation/Pf2e.Scrapper/CollapseCommand.CollapseCommand(StructureRow).md
new file mode 100644
index 0000000..faa175c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CollapseCommand.CollapseCommand(StructureRow).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[CollapseCommand](CollapseCommand.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand')
+
+## CollapseCommand\(StructureRow\) Constructor
+
+Команда для сворачивания/разворачивания поля структуры\.
+
+```csharp
+public CollapseCommand(Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.StructureRow structureRow);
+```
+#### Parameters
+
+
+
+`structureRow` [StructureRow](StructureRow.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.StructureRow')
+
+Строка структуры, содержащая поле\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CollapseCommand.Execute(object).md b/Documentation/Pf2e.Scrapper/CollapseCommand.Execute(object).md
new file mode 100644
index 0000000..862a2f6
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CollapseCommand.Execute(object).md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[CollapseCommand](CollapseCommand.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand')
+
+## CollapseCommand\.Execute\(object\) Method
+
+Выполняет команду с указанным параметром\.
+
+```csharp
+public void Execute(object? parameter);
+```
+#### Parameters
+
+
+
+`parameter` [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')
+
+Параметр, передаваемый команде\.
+
+Implements [Execute\(object\)](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand.Execute#System_Windows_Input_ICommand_Execute_System_Object_ 'System\.Windows\.Input\.ICommand\.Execute\(System\.Object\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CollapseCommand.StructureRow.md b/Documentation/Pf2e.Scrapper/CollapseCommand.StructureRow.md
new file mode 100644
index 0000000..8af0bb7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CollapseCommand.StructureRow.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[CollapseCommand](CollapseCommand.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand')
+
+## CollapseCommand\.StructureRow Property
+
+Строка структуры, содержащая поле, для которого выполняется команда\.
+
+```csharp
+private Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.StructureRow StructureRow { private get; }
+```
+
+#### Property Value
+[StructureRow](StructureRow.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.StructureRow')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/CollapseCommand.md b/Documentation/Pf2e.Scrapper/CollapseCommand.md
new file mode 100644
index 0000000..c95ea26
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/CollapseCommand.md
@@ -0,0 +1,31 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure')
+
+## CollapseCommand Class
+
+Команда для сворачивания/разворачивания поля структуры\.
+
+```csharp
+internal class CollapseCommand : System.Windows.Input.ICommand
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 CollapseCommand
+
+Implements [System\.Windows\.Input\.ICommand](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Input.ICommand 'System\.Windows\.Input\.ICommand')
+
+| Constructors | |
+| :--- | :--- |
+| [CollapseCommand\(StructureRow\)](CollapseCommand.CollapseCommand(StructureRow).md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand\.CollapseCommand\(Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.StructureRow\)') | Команда для сворачивания/разворачивания поля структуры\. |
+
+| Properties | |
+| :--- | :--- |
+| [StructureRow](CollapseCommand.StructureRow.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand\.StructureRow') | Строка структуры, содержащая поле, для которого выполняется команда\. |
+
+| Methods | |
+| :--- | :--- |
+| [CanExecute\(object\)](CollapseCommand.CanExecute(object).md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand\.CanExecute\(object\)') | Проверяет, может ли команда быть выполнена с указанным параметром\. |
+| [Execute\(object\)](CollapseCommand.Execute(object).md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand\.Execute\(object\)') | Выполняет команду с указанным параметром\. |
+
+| Events | |
+| :--- | :--- |
+| [CanExecuteChanged](CollapseCommand.CanExecuteChanged.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.CollapseCommand\.CanExecuteChanged') | Событие, вызываемое при изменении возможности выполнения команды\. |
diff --git a/Documentation/Pf2e.Scrapper/ColorAdapterConverter.Convert(object[],Type,object,CultureInfo).md b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.Convert(object[],Type,object,CultureInfo).md
new file mode 100644
index 0000000..a89ad12
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.Convert(object[],Type,object,CultureInfo).md
@@ -0,0 +1,41 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[ColorAdapterConverter](ColorAdapterConverter.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter')
+
+## ColorAdapterConverter\.Convert\(object\[\], Type, object, CultureInfo\) Method
+
+Преобразует массив значений в целевой тип, усредняя цвета\.
+
+```csharp
+public object? Convert(object[] value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture);
+```
+#### Parameters
+
+
+
+`value` [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
+
+Массив значений, содержащий цвета\.
+
+
+
+`targetType` [System\.Type](https://docs.microsoft.com/en-us/dotnet/api/System.Type 'System\.Type')
+
+Целевой тип, в который нужно преобразовать значения\.
+
+
+
+`parameter` [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')
+
+Параметр преобразования, не используется\.
+
+
+
+`culture` [System\.Globalization\.CultureInfo](https://docs.microsoft.com/en-us/dotnet/api/System.Globalization.CultureInfo 'System\.Globalization\.CultureInfo')
+
+Культура, используемая для преобразования, не используется\.
+
+Implements [Convert\(object\[\], Type, object, CultureInfo\)](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Data.IMultiValueConverter.Convert#System_Windows_Data_IMultiValueConverter_Convert_System_Object[],System_Type,System_Object,System_Globalization_CultureInfo_ 'System\.Windows\.Data\.IMultiValueConverter\.Convert\(System\.Object\[\],System\.Type,System\.Object,System\.Globalization\.CultureInfo\)')
+
+#### Returns
+[System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')
+Результат преобразования в целевой тип, который может быть `null`, если преобразование невозможно\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ColorAdapterConverter.ConvertBack(object,Type[],object,CultureInfo).md b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.ConvertBack(object,Type[],object,CultureInfo).md
new file mode 100644
index 0000000..a480eac
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.ConvertBack(object,Type[],object,CultureInfo).md
@@ -0,0 +1,36 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[ColorAdapterConverter](ColorAdapterConverter.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter')
+
+## ColorAdapterConverter\.ConvertBack\(object, Type\[\], object, CultureInfo\) Method
+
+Преобразует значение обратно в массив типов, но не реализован\.
+
+```csharp
+public object[] ConvertBack(object value, System.Type[] targetType, object parameter, System.Globalization.CultureInfo culture);
+```
+#### Parameters
+
+
+
+`value` [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')
+
+
+
+`targetType` [System\.Type](https://docs.microsoft.com/en-us/dotnet/api/System.Type 'System\.Type')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
+
+
+
+`parameter` [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')
+
+
+
+`culture` [System\.Globalization\.CultureInfo](https://docs.microsoft.com/en-us/dotnet/api/System.Globalization.CultureInfo 'System\.Globalization\.CultureInfo')
+
+Implements [ConvertBack\(object, Type\[\], object, CultureInfo\)](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Data.IMultiValueConverter.ConvertBack#System_Windows_Data_IMultiValueConverter_ConvertBack_System_Object,System_Type[],System_Object,System_Globalization_CultureInfo_ 'System\.Windows\.Data\.IMultiValueConverter\.ConvertBack\(System\.Object,System\.Type\[\],System\.Object,System\.Globalization\.CultureInfo\)')
+
+#### Returns
+[System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object')[\[\]](https://docs.microsoft.com/en-us/dotnet/api/System.Array 'System\.Array')
+
+#### Exceptions
+
+[System\.NotImplementedException](https://docs.microsoft.com/en-us/dotnet/api/System.NotImplementedException 'System\.NotImplementedException')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ColorAdapterConverter.Mix(byte,byte,double).md b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.Mix(byte,byte,double).md
new file mode 100644
index 0000000..3abebec
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.Mix(byte,byte,double).md
@@ -0,0 +1,33 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure').[ColorAdapterConverter](ColorAdapterConverter.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter')
+
+## ColorAdapterConverter\.Mix\(byte, byte, double\) Method
+
+Смешивает два компнента цвета с заданным коэффициентом смешивания\.
+
+```csharp
+private byte Mix(byte a, byte b, double rate);
+```
+#### Parameters
+
+
+
+`a` [System\.Byte](https://docs.microsoft.com/en-us/dotnet/api/System.Byte 'System\.Byte')
+
+Первый компонент цвета\.
+
+
+
+`b` [System\.Byte](https://docs.microsoft.com/en-us/dotnet/api/System.Byte 'System\.Byte')
+
+Второй компонент цвета\.
+
+
+
+`rate` [System\.Double](https://docs.microsoft.com/en-us/dotnet/api/System.Double 'System\.Double')
+
+Коэффициент смешивания, где 0\.0 означает полный компонент [a](ColorAdapterConverter.Mix(byte,byte,double).md#Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.ColorAdapterConverter.Mix(byte,byte,double).a 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter\.Mix\(byte, byte, double\)\.a'), а 1\.0 означает полный компонент [b](ColorAdapterConverter.Mix(byte,byte,double).md#Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.ColorAdapterConverter.Mix(byte,byte,double).b 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter\.Mix\(byte, byte, double\)\.b')\.
+
+#### Returns
+[System\.Byte](https://docs.microsoft.com/en-us/dotnet/api/System.Byte 'System\.Byte')
+Смешанный компонент цвета\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ColorAdapterConverter.md b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.md
new file mode 100644
index 0000000..d410c0f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ColorAdapterConverter.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure](Pf2e.Scrapper.WPF.EntityViewer.EntityViewStructure.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure')
+
+## ColorAdapterConverter Class
+
+Преобразователь, который адаптирует цвет в зависимости от типа целевого свойства\.
+
+```csharp
+public class ColorAdapterConverter : System.Windows.Data.IMultiValueConverter
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 ColorAdapterConverter
+
+Implements [System\.Windows\.Data\.IMultiValueConverter](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Data.IMultiValueConverter 'System\.Windows\.Data\.IMultiValueConverter')
+
+| Methods | |
+| :--- | :--- |
+| [Convert\(object\[\], Type, object, CultureInfo\)](ColorAdapterConverter.Convert(object[],Type,object,CultureInfo).md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter\.Convert\(object\[\], System\.Type, object, System\.Globalization\.CultureInfo\)') | Преобразует массив значений в целевой тип, усредняя цвета\. |
+| [ConvertBack\(object, Type\[\], object, CultureInfo\)](ColorAdapterConverter.ConvertBack(object,Type[],object,CultureInfo).md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter\.ConvertBack\(object, System\.Type\[\], object, System\.Globalization\.CultureInfo\)') | Преобразует значение обратно в массив типов, но не реализован\. |
+| [Mix\(byte, byte, double\)](ColorAdapterConverter.Mix(byte,byte,double).md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityViewStructure\.ColorAdapterConverter\.Mix\(byte, byte, double\)') | Смешивает два компнента цвета с заданным коэффициентом смешивания\. |
diff --git a/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.ClassName.md
new file mode 100644
index 0000000..e4e137d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ConsciousMindProcessor](ConsciousMindProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor')
+
+## ConsciousMindProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.GroupName.md
new file mode 100644
index 0000000..85b90e2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ConsciousMindProcessor](ConsciousMindProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor')
+
+## ConsciousMindProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.Object.md b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.Object.md
new file mode 100644
index 0000000..47cb131
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ConsciousMindProcessor](ConsciousMindProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor')
+
+## ConsciousMindProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.ProcessObject().md
new file mode 100644
index 0000000..2af8878
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ConsciousMindProcessor](ConsciousMindProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor')
+
+## ConsciousMindProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.md b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.md
new file mode 100644
index 0000000..4cd97bc
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ConsciousMindProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## ConsciousMindProcessor Class
+
+```csharp
+internal class ConsciousMindProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 ConsciousMindProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](ConsciousMindProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](ConsciousMindProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](ConsciousMindProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](ConsciousMindProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ConsciousMindProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper.Context.md b/Documentation/Pf2e.Scrapper/DatabaseHelper.Context.md
new file mode 100644
index 0000000..067a8fb
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper.Context.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+## DatabaseHelper\.Context Property
+
+Context для доступа к базе данных\.
+
+```csharp
+public Pf2e.Database.Pf2eDbContext Context { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper.DatabaseHelper(SlugHelper).md b/Documentation/Pf2e.Scrapper/DatabaseHelper.DatabaseHelper(SlugHelper).md
new file mode 100644
index 0000000..25800bf
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper.DatabaseHelper(SlugHelper).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+## DatabaseHelper\(SlugHelper\) Constructor
+
+Конструктор класса [DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+```csharp
+public DatabaseHelper(Slugify.SlugHelper slugHelper);
+```
+#### Parameters
+
+
+
+`slugHelper` [Slugify\.SlugHelper](https://docs.microsoft.com/en-us/dotnet/api/Slugify.SlugHelper 'Slugify\.SlugHelper')
+
+\[DI\] Сервис для работы с URL\-Slug
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper.GenerateSlug(string).md b/Documentation/Pf2e.Scrapper/DatabaseHelper.GenerateSlug(string).md
new file mode 100644
index 0000000..ccc8872
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper.GenerateSlug(string).md
@@ -0,0 +1,18 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+## DatabaseHelper\.GenerateSlug\(string\) Method
+
+Генерирует slug из названия\.
+
+```csharp
+public string GenerateSlug(string name);
+```
+#### Parameters
+
+
+
+`name` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper.IdLock.md b/Documentation/Pf2e.Scrapper/DatabaseHelper.IdLock.md
new file mode 100644
index 0000000..ac660ad
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper.IdLock.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+## DatabaseHelper\.IdLock Property
+
+Блокировщик для генерации идентификаторов сущностей\.
+
+```csharp
+public System.Threading.Lock IdLock { get; }
+```
+
+#### Property Value
+[System\.Threading\.Lock](https://docs.microsoft.com/en-us/dotnet/api/System.Threading.Lock 'System\.Threading\.Lock')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper.NextEntityId.md b/Documentation/Pf2e.Scrapper/DatabaseHelper.NextEntityId.md
new file mode 100644
index 0000000..4774685
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper.NextEntityId.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+## DatabaseHelper\.NextEntityId Property
+
+Генерирует новый уникальный идентификатор сущности\. и возвращает его\.
+
+```csharp
+public int NextEntityId { get; }
+```
+
+#### Property Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper.Slugger.md b/Documentation/Pf2e.Scrapper/DatabaseHelper.Slugger.md
new file mode 100644
index 0000000..59df832
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper.Slugger.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+## DatabaseHelper\.Slugger Property
+
+Сервис для работы с URL\-Slug\. Используется для преобразования названий в URL\-friendly формат\.
+
+```csharp
+public Slugify.SlugHelper Slugger { get; }
+```
+
+#### Property Value
+[Slugify\.SlugHelper](https://docs.microsoft.com/en-us/dotnet/api/Slugify.SlugHelper 'Slugify\.SlugHelper')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper._id.md b/Documentation/Pf2e.Scrapper/DatabaseHelper._id.md
new file mode 100644
index 0000000..1b97dc2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper._id.md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+## DatabaseHelper\.\_id Field
+
+Последний найденный идентификатор сущности\.
+Используется для генерации новых ID сущностей\.
+
+```csharp
+private int _id;
+```
+
+#### Field Value
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DatabaseHelper.md b/Documentation/Pf2e.Scrapper/DatabaseHelper.md
new file mode 100644
index 0000000..b5b5d03
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DatabaseHelper.md
@@ -0,0 +1,31 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers')
+
+## DatabaseHelper Class
+
+Класс предоставляет методы для работы с базой данных\.
+
+```csharp
+public class DatabaseHelper
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 DatabaseHelper
+
+| Constructors | |
+| :--- | :--- |
+| [DatabaseHelper\(SlugHelper\)](DatabaseHelper.DatabaseHelper(SlugHelper).md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper\.DatabaseHelper\(Slugify\.SlugHelper\)') | Конструктор класса [DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper') |
+
+| Fields | |
+| :--- | :--- |
+| [\_id](DatabaseHelper._id.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper\.\_id') | Последний найденный идентификатор сущности\. Используется для генерации новых ID сущностей\. |
+
+| Properties | |
+| :--- | :--- |
+| [Context](DatabaseHelper.Context.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper\.Context') | Context для доступа к базе данных\. |
+| [IdLock](DatabaseHelper.IdLock.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper\.IdLock') | Блокировщик для генерации идентификаторов сущностей\. |
+| [NextEntityId](DatabaseHelper.NextEntityId.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper\.NextEntityId') | Генерирует новый уникальный идентификатор сущности\. и возвращает его\. |
+| [Slugger](DatabaseHelper.Slugger.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper\.Slugger') | Сервис для работы с URL\-Slug\. Используется для преобразования названий в URL\-friendly формат\. |
+
+| Methods | |
+| :--- | :--- |
+| [GenerateSlug\(string\)](DatabaseHelper.GenerateSlug(string).md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper\.GenerateSlug\(string\)') | Генерирует slug из названия\. |
diff --git a/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Add().md b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Add().md
new file mode 100644
index 0000000..9d338c5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityCategoryProcessor](DeityCategoryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor')
+
+## DeityCategoryProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Object.md b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Object.md
new file mode 100644
index 0000000..28a29ec
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityCategoryProcessor](DeityCategoryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor')
+
+## DeityCategoryProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.DeityCategory Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.DeityCategory](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.DeityCategory 'Pf2e\.Database\.Model\.Structure\.DeityCategory')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Process().md b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Process().md
new file mode 100644
index 0000000..368c529
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityCategoryProcessor](DeityCategoryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor')
+
+## DeityCategoryProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.ProcessDescription().md b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.ProcessDescription().md
new file mode 100644
index 0000000..241abee
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.ProcessDescription().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityCategoryProcessor](DeityCategoryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor')
+
+## DeityCategoryProcessor\.ProcessDescription\(\) Method
+
+Обработка описания категории\.
+
+```csharp
+private void ProcessDescription();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Type.md b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Type.md
new file mode 100644
index 0000000..9b0dce2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityCategoryProcessor](DeityCategoryProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor')
+
+## DeityCategoryProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.md b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.md
new file mode 100644
index 0000000..143a064
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityCategoryProcessor.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## DeityCategoryProcessor Class
+
+```csharp
+internal class DeityCategoryProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 DeityCategoryProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](DeityCategoryProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor\.Object') | Основная сущность\. |
+| [Type](DeityCategoryProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](DeityCategoryProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [Process\(\)](DeityCategoryProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [ProcessDescription\(\)](DeityCategoryProcessor.ProcessDescription().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityCategoryProcessor\.ProcessDescription\(\)') | Обработка описания категории\. |
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.Add().md b/Documentation/Pf2e.Scrapper/DeityProcessor.Add().md
new file mode 100644
index 0000000..8ed26d5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.AddTraits().md b/Documentation/Pf2e.Scrapper/DeityProcessor.AddTraits().md
new file mode 100644
index 0000000..3c039d6
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.AddTraits().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.AddTraits\(\) Method
+
+Генерация списка признаков сущности\.
+
+```csharp
+protected override void AddTraits();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.MarkdownLinkRegex().md b/Documentation/Pf2e.Scrapper/DeityProcessor.MarkdownLinkRegex().md
new file mode 100644
index 0000000..e0bace7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.MarkdownLinkRegex().md
@@ -0,0 +1,28 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.MarkdownLinkRegex\(\) Method
+
+```csharp
+private static System.Text.RegularExpressions.Regex MarkdownLinkRegex();
+```
+
+#### Returns
+[System\.Text\.RegularExpressions\.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System\.Text\.RegularExpressions\.Regex')
+
+### Remarks
+Pattern:
+
+```csharp
+\\[([^\\]]+)\\]\\([^)]+\\)
+```
+Explanation:
+
+```csharp
+○ Match '['.
+○ 1st capture group.
+ ○ Match a character other than ']' atomically at least once.
+○ Match the string "](".
+○ Match a character other than ')' atomically at least once.
+○ Match ')'.
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.Object.md b/Documentation/Pf2e.Scrapper/DeityProcessor.Object.md
new file mode 100644
index 0000000..b91ff93
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Deity Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Deity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Deity 'Pf2e\.Database\.Model\.Structure\.Deity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.Process().md b/Documentation/Pf2e.Scrapper/DeityProcessor.Process().md
new file mode 100644
index 0000000..b427c6e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessAttributes().md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessAttributes().md
new file mode 100644
index 0000000..05ca4ef
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessAttributes().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessAttributes\(\) Method
+
+Обработка атрибутов божества\.
+
+```csharp
+private void ProcessAttributes();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessCategory(string).md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessCategory(string).md
new file mode 100644
index 0000000..d0fa677
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessCategory(string).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessCategory\(string\) Method
+
+Обработка категории божества\.
+
+```csharp
+private void ProcessCategory(string categoryName);
+```
+#### Parameters
+
+
+
+`categoryName` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Название категории\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessDomainMarkdown(string,bool).md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessDomainMarkdown(string,bool).md
new file mode 100644
index 0000000..bced3bf
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessDomainMarkdown(string,bool).md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessDomainMarkdown\(string, bool\) Method
+
+Обработка markdown\-строки с доменами\.
+
+```csharp
+private void ProcessDomainMarkdown(string markdown, bool isPrimary);
+```
+#### Parameters
+
+
+
+`markdown` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Markdown\-строка с доменами\.
+
+
+
+`isPrimary` [System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+
+Флаг, указывающий, являются ли домены основными\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessDomains().md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessDomains().md
new file mode 100644
index 0000000..e507e9f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessDomains().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessDomains\(\) Method
+
+Обработка доменов божества\.
+
+```csharp
+private void ProcessDomains();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessFonts().md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessFonts().md
new file mode 100644
index 0000000..767fa6e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessFonts().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessFonts\(\) Method
+
+Обработка божественной силы\.
+
+```csharp
+private void ProcessFonts();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessSkills().md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessSkills().md
new file mode 100644
index 0000000..ce6c84f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessSkills().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessSkills\(\) Method
+
+Обработка навыков божества\.
+
+```csharp
+private void ProcessSkills();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessSpells().md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessSpells().md
new file mode 100644
index 0000000..293eb7a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessSpells().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessSpells\(\) Method
+
+Обработка заклинаний божества\.
+
+```csharp
+private void ProcessSpells();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessTexts().md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessTexts().md
new file mode 100644
index 0000000..be69045
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessTexts().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessTexts\(\) Method
+
+Обработка текстов описания божества\.
+
+```csharp
+private void ProcessTexts();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessWeapons().md b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessWeapons().md
new file mode 100644
index 0000000..6971450
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.ProcessWeapons().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.ProcessWeapons\(\) Method
+
+Обработка оружия божества\.
+
+```csharp
+private void ProcessWeapons();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.Type.md b/Documentation/Pf2e.Scrapper/DeityProcessor.Type.md
new file mode 100644
index 0000000..6bfd292
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DeityProcessor](DeityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor')
+
+## DeityProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DeityProcessor.md b/Documentation/Pf2e.Scrapper/DeityProcessor.md
new file mode 100644
index 0000000..7a442d1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DeityProcessor.md
@@ -0,0 +1,31 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## DeityProcessor Class
+
+```csharp
+internal class DeityProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 DeityProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](DeityProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.Object') | Основная сущность\. |
+| [Type](DeityProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](DeityProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [AddTraits\(\)](DeityProcessor.AddTraits().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.AddTraits\(\)') | Генерация списка признаков сущности\. |
+| [MarkdownLinkRegex\(\)](DeityProcessor.MarkdownLinkRegex().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.MarkdownLinkRegex\(\)') | |
+| [Process\(\)](DeityProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [ProcessAttributes\(\)](DeityProcessor.ProcessAttributes().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessAttributes\(\)') | Обработка атрибутов божества\. |
+| [ProcessCategory\(string\)](DeityProcessor.ProcessCategory(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessCategory\(string\)') | Обработка категории божества\. |
+| [ProcessDomainMarkdown\(string, bool\)](DeityProcessor.ProcessDomainMarkdown(string,bool).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessDomainMarkdown\(string, bool\)') | Обработка markdown\-строки с доменами\. |
+| [ProcessDomains\(\)](DeityProcessor.ProcessDomains().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessDomains\(\)') | Обработка доменов божества\. |
+| [ProcessFonts\(\)](DeityProcessor.ProcessFonts().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessFonts\(\)') | Обработка божественной силы\. |
+| [ProcessSkills\(\)](DeityProcessor.ProcessSkills().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessSkills\(\)') | Обработка навыков божества\. |
+| [ProcessSpells\(\)](DeityProcessor.ProcessSpells().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessSpells\(\)') | Обработка заклинаний божества\. |
+| [ProcessTexts\(\)](DeityProcessor.ProcessTexts().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessTexts\(\)') | Обработка текстов описания божества\. |
+| [ProcessWeapons\(\)](DeityProcessor.ProcessWeapons().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DeityProcessor\.ProcessWeapons\(\)') | Обработка оружия божества\. |
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.AddValue(JToken).md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.AddValue(JToken).md
new file mode 100644
index 0000000..472489e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.AddValue(JToken).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\.AddValue\(JToken\) Method
+
+Добавление нового значения\.
+
+```csharp
+public override void AddValue(Newtonsoft.Json.Linq.JToken value);
+```
+#### Parameters
+
+
+
+`value` [Newtonsoft\.Json\.Linq\.JToken](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JToken 'Newtonsoft\.Json\.Linq\.JToken')
+
+Новое значение\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.Beautify().md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.Beautify().md
new file mode 100644
index 0000000..6b337c5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.Beautify().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\.Beautify\(\) Method
+
+Подготовка типа к красивому представлению\.
+
+```csharp
+public override void Beautify();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.DictionarySchemaType(SchemaNode).md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.DictionarySchemaType(SchemaNode).md
new file mode 100644
index 0000000..6841d1b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.DictionarySchemaType(SchemaNode).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\(SchemaNode\) Constructor
+
+Тип представоления словаря в схеме\.
+
+```csharp
+public DictionarySchemaType(Pf2e.Scrapper.SchemaBuilder.SchemaNode parent);
+```
+#### Parameters
+
+
+
+`parent` [SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
+
+Элемент, к которому добавляется тип\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.GetTypeName().md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.GetTypeName().md
new file mode 100644
index 0000000..a93725c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.GetTypeName().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\.GetTypeName\(\) Method
+
+Получение строкового представоения типа элемента\.
+
+```csharp
+public override string GetTypeName();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Строковое представоение типа элемента
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.GetYamlData().md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.GetYamlData().md
new file mode 100644
index 0000000..b5d7469
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.GetYamlData().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\.GetYamlData\(\) Method
+
+Получение данных для форматирования в YAML\.
+
+```csharp
+public override System.Collections.Generic.Dictionary GetYamlData();
+```
+
+#### Returns
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
+Словарь данных
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.IsCompatibleValue(JToken).md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.IsCompatibleValue(JToken).md
new file mode 100644
index 0000000..2b63065
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.IsCompatibleValue(JToken).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\.IsCompatibleValue\(JToken\) Method
+
+Проверка, что значение совместимо с текущим типом\.
+
+```csharp
+public override bool IsCompatibleValue(Newtonsoft.Json.Linq.JToken value);
+```
+#### Parameters
+
+
+
+`value` [Newtonsoft\.Json\.Linq\.JToken](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JToken 'Newtonsoft\.Json\.Linq\.JToken')
+
+Проверяемое значение\.
+
+#### Returns
+[System\.Boolean](https://docs.microsoft.com/en-us/dotnet/api/System.Boolean 'System\.Boolean')
+\`true\`, если значение совместимо с текущим типом\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.ItemNode.md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.ItemNode.md
new file mode 100644
index 0000000..3112650
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.ItemNode.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\.ItemNode Field
+
+Схема значений словаря\.
+
+```csharp
+public readonly SchemaNode ItemNode;
+```
+
+#### Field Value
+[SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.KeyNode.md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.KeyNode.md
new file mode 100644
index 0000000..8c1e457
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.KeyNode.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types').[DictionarySchemaType](DictionarySchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType')
+
+## DictionarySchemaType\.KeyNode Field
+
+Схема ключей словаря\.
+
+```csharp
+public readonly SchemaNode KeyNode;
+```
+
+#### Field Value
+[SchemaNode](SchemaNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DictionarySchemaType.md b/Documentation/Pf2e.Scrapper/DictionarySchemaType.md
new file mode 100644
index 0000000..47a50ad
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DictionarySchemaType.md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.SchemaBuilder\.Types](Pf2e.Scrapper.SchemaBuilder.Types.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types')
+
+## DictionarySchemaType Class
+
+Тип представоления словаря в схеме\.
+
+```csharp
+internal class DictionarySchemaType : Pf2e.Scrapper.SchemaBuilder.Types.AbstractSchemaType
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractSchemaType](AbstractSchemaType.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.AbstractSchemaType') 🡒 DictionarySchemaType
+
+| Constructors | |
+| :--- | :--- |
+| [DictionarySchemaType\(SchemaNode\)](DictionarySchemaType.DictionarySchemaType(SchemaNode).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.DictionarySchemaType\(Pf2e\.Scrapper\.SchemaBuilder\.SchemaNode\)') | Тип представоления словаря в схеме\. |
+
+| Fields | |
+| :--- | :--- |
+| [ItemNode](DictionarySchemaType.ItemNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.ItemNode') | Схема значений словаря\. |
+| [KeyNode](DictionarySchemaType.KeyNode.md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.KeyNode') | Схема ключей словаря\. |
+
+| Methods | |
+| :--- | :--- |
+| [AddValue\(JToken\)](DictionarySchemaType.AddValue(JToken).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.AddValue\(Newtonsoft\.Json\.Linq\.JToken\)') | Добавление нового значения\. |
+| [Beautify\(\)](DictionarySchemaType.Beautify().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.Beautify\(\)') | Подготовка типа к красивому представлению\. |
+| [GetTypeName\(\)](DictionarySchemaType.GetTypeName().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.GetTypeName\(\)') | Получение строкового представоения типа элемента\. |
+| [GetYamlData\(\)](DictionarySchemaType.GetYamlData().md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.GetYamlData\(\)') | Получение данных для форматирования в YAML\. |
+| [IsCompatibleValue\(JToken\)](DictionarySchemaType.IsCompatibleValue(JToken).md 'Pf2e\.Scrapper\.SchemaBuilder\.Types\.DictionarySchemaType\.IsCompatibleValue\(Newtonsoft\.Json\.Linq\.JToken\)') | Проверка, что значение совместимо с текущим типом\. |
diff --git a/Documentation/Pf2e.Scrapper/DoctrineProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/DoctrineProcessor.ClassName.md
new file mode 100644
index 0000000..e552521
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DoctrineProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DoctrineProcessor](DoctrineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor')
+
+## DoctrineProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DoctrineProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/DoctrineProcessor.GroupName.md
new file mode 100644
index 0000000..7294bd5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DoctrineProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DoctrineProcessor](DoctrineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor')
+
+## DoctrineProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DoctrineProcessor.Object.md b/Documentation/Pf2e.Scrapper/DoctrineProcessor.Object.md
new file mode 100644
index 0000000..1a37919
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DoctrineProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DoctrineProcessor](DoctrineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor')
+
+## DoctrineProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DoctrineProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/DoctrineProcessor.ProcessObject().md
new file mode 100644
index 0000000..607e88c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DoctrineProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DoctrineProcessor](DoctrineProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor')
+
+## DoctrineProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DoctrineProcessor.md b/Documentation/Pf2e.Scrapper/DoctrineProcessor.md
new file mode 100644
index 0000000..a674b93
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DoctrineProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## DoctrineProcessor Class
+
+```csharp
+internal class DoctrineProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 DoctrineProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](DoctrineProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](DoctrineProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](DoctrineProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](DoctrineProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DoctrineProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.Add().md b/Documentation/Pf2e.Scrapper/DomainProcessor.Add().md
new file mode 100644
index 0000000..33cfc41
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+
+## DomainProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.GetSpellIdFromMarkdown(string).md b/Documentation/Pf2e.Scrapper/DomainProcessor.GetSpellIdFromMarkdown(string).md
new file mode 100644
index 0000000..a311184
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.GetSpellIdFromMarkdown(string).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+
+## DomainProcessor\.GetSpellIdFromMarkdown\(string\) Method
+
+Получение идентификатора заклинания из markdown\-строки\.
+
+```csharp
+private int GetSpellIdFromMarkdown(string markdown);
+```
+#### Parameters
+
+
+
+`markdown` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Markdown\-строка с информацией о заклинании\.
+
+#### Returns
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+Идентификатор заклинания\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.MarkdownLinkRegex().md b/Documentation/Pf2e.Scrapper/DomainProcessor.MarkdownLinkRegex().md
new file mode 100644
index 0000000..3b90a70
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.MarkdownLinkRegex().md
@@ -0,0 +1,28 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+
+## DomainProcessor\.MarkdownLinkRegex\(\) Method
+
+```csharp
+private static System.Text.RegularExpressions.Regex MarkdownLinkRegex();
+```
+
+#### Returns
+[System\.Text\.RegularExpressions\.Regex](https://docs.microsoft.com/en-us/dotnet/api/System.Text.RegularExpressions.Regex 'System\.Text\.RegularExpressions\.Regex')
+
+### Remarks
+Pattern:
+
+```csharp
+\\[([^\\]]+)\\]\\([^)]+\\)
+```
+Explanation:
+
+```csharp
+○ Match '['.
+○ 1st capture group.
+ ○ Match a character other than ']' atomically at least once.
+○ Match the string "](".
+○ Match a character other than ')' atomically at least once.
+○ Match ')'.
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.Object.md b/Documentation/Pf2e.Scrapper/DomainProcessor.Object.md
new file mode 100644
index 0000000..2c98a0d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+
+## DomainProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Domain Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Domain](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Domain 'Pf2e\.Database\.Model\.Structure\.Domain')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.Process().md b/Documentation/Pf2e.Scrapper/DomainProcessor.Process().md
new file mode 100644
index 0000000..ec79e75
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+
+## DomainProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.ProcessDomainSpells().md b/Documentation/Pf2e.Scrapper/DomainProcessor.ProcessDomainSpells().md
new file mode 100644
index 0000000..47ad016
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.ProcessDomainSpells().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+
+## DomainProcessor\.ProcessDomainSpells\(\) Method
+
+Обработка заклинаний, связанных с доменом\.
+
+```csharp
+private void ProcessDomainSpells();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.Type.md b/Documentation/Pf2e.Scrapper/DomainProcessor.Type.md
new file mode 100644
index 0000000..bb32a44
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[DomainProcessor](DomainProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor')
+
+## DomainProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DomainProcessor.md b/Documentation/Pf2e.Scrapper/DomainProcessor.md
new file mode 100644
index 0000000..2bf8aa8
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DomainProcessor.md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## DomainProcessor Class
+
+```csharp
+internal class DomainProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 DomainProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](DomainProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor\.Object') | Основная сущность\. |
+| [Type](DomainProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](DomainProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [GetSpellIdFromMarkdown\(string\)](DomainProcessor.GetSpellIdFromMarkdown(string).md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor\.GetSpellIdFromMarkdown\(string\)') | Получение идентификатора заклинания из markdown\-строки\. |
+| [MarkdownLinkRegex\(\)](DomainProcessor.MarkdownLinkRegex().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor\.MarkdownLinkRegex\(\)') | |
+| [Process\(\)](DomainProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor\.Process\(\)') | Основной метод обработки данных\. |
+| [ProcessDomainSpells\(\)](DomainProcessor.ProcessDomainSpells().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.DomainProcessor\.ProcessDomainSpells\(\)') | Обработка заклинаний, связанных с доменом\. |
diff --git a/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.ClassName.md
new file mode 100644
index 0000000..52f4398
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DruidicOrderProcessor](DruidicOrderProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor')
+
+## DruidicOrderProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.GroupName.md
new file mode 100644
index 0000000..d7abbd1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DruidicOrderProcessor](DruidicOrderProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor')
+
+## DruidicOrderProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.Object.md b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.Object.md
new file mode 100644
index 0000000..5fa3e68
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DruidicOrderProcessor](DruidicOrderProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor')
+
+## DruidicOrderProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.ProcessObject().md
new file mode 100644
index 0000000..4995f38
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[DruidicOrderProcessor](DruidicOrderProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor')
+
+## DruidicOrderProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.md b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.md
new file mode 100644
index 0000000..8a781fb
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/DruidicOrderProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## DruidicOrderProcessor Class
+
+```csharp
+internal class DruidicOrderProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 DruidicOrderProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](DruidicOrderProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](DruidicOrderProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](DruidicOrderProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](DruidicOrderProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.DruidicOrderProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/EidolonProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/EidolonProcessor.ClassName.md
new file mode 100644
index 0000000..83ca8ef
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EidolonProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EidolonProcessor](EidolonProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor')
+
+## EidolonProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EidolonProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/EidolonProcessor.GroupName.md
new file mode 100644
index 0000000..9691a62
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EidolonProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EidolonProcessor](EidolonProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor')
+
+## EidolonProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EidolonProcessor.Object.md b/Documentation/Pf2e.Scrapper/EidolonProcessor.Object.md
new file mode 100644
index 0000000..b0e8a41
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EidolonProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EidolonProcessor](EidolonProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor')
+
+## EidolonProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EidolonProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/EidolonProcessor.ProcessObject().md
new file mode 100644
index 0000000..67a115a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EidolonProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EidolonProcessor](EidolonProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor')
+
+## EidolonProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EidolonProcessor.md b/Documentation/Pf2e.Scrapper/EidolonProcessor.md
new file mode 100644
index 0000000..2e5a3fb
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EidolonProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## EidolonProcessor Class
+
+```csharp
+internal class EidolonProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 EidolonProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](EidolonProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](EidolonProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](EidolonProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](EidolonProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EidolonProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/ElementProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/ElementProcessor.ClassName.md
new file mode 100644
index 0000000..e716a86
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ElementProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ElementProcessor](ElementProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor')
+
+## ElementProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ElementProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/ElementProcessor.GroupName.md
new file mode 100644
index 0000000..40245bf
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ElementProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ElementProcessor](ElementProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor')
+
+## ElementProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ElementProcessor.Object.md b/Documentation/Pf2e.Scrapper/ElementProcessor.Object.md
new file mode 100644
index 0000000..4fa7b78
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ElementProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ElementProcessor](ElementProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor')
+
+## ElementProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ElementProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/ElementProcessor.ProcessObject().md
new file mode 100644
index 0000000..7186b5a
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ElementProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[ElementProcessor](ElementProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor')
+
+## ElementProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/ElementProcessor.md b/Documentation/Pf2e.Scrapper/ElementProcessor.md
new file mode 100644
index 0000000..d788613
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/ElementProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## ElementProcessor Class
+
+```csharp
+internal class ElementProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 ElementProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](ElementProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](ElementProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](ElementProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](ElementProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.ElementProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/EntityForm.InitializeComponent().md b/Documentation/Pf2e.Scrapper/EntityForm.InitializeComponent().md
new file mode 100644
index 0000000..c10c9fd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityForm.InitializeComponent().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer](Pf2e.Scrapper.WPF.EntityViewer.md 'Pf2e\.Scrapper\.WPF\.EntityViewer').[EntityForm](EntityForm.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityForm')
+
+## EntityForm\.InitializeComponent\(\) Method
+
+InitializeComponent
+
+```csharp
+public void InitializeComponent();
+```
+
+Implements [InitializeComponent\(\)](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Markup.IComponentConnector.InitializeComponent 'System\.Windows\.Markup\.IComponentConnector\.InitializeComponent')
\ No newline at end of file
diff --git a/Documentation/Pf2eDataScrapper/EntityForm.md b/Documentation/Pf2e.Scrapper/EntityForm.md
similarity index 87%
rename from Documentation/Pf2eDataScrapper/EntityForm.md
rename to Documentation/Pf2e.Scrapper/EntityForm.md
index c1e6253..baf475d 100644
--- a/Documentation/Pf2eDataScrapper/EntityForm.md
+++ b/Documentation/Pf2e.Scrapper/EntityForm.md
@@ -1,5 +1,5 @@
-#### [Pf2eDataScrapper](index.md 'index')
-### [Pf2eDataScrapper\.WPF\.EntityViewer](Pf2eDataScrapper.WPF.EntityViewer.md 'Pf2eDataScrapper\.WPF\.EntityViewer')
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer](Pf2e.Scrapper.WPF.EntityViewer.md 'Pf2e\.Scrapper\.WPF\.EntityViewer')
## EntityForm Class
@@ -13,4 +13,4 @@ Implements [System\.Windows\.Markup\.IComponentConnector](https://docs.microsoft
| Methods | |
| :--- | :--- |
-| [InitializeComponent\(\)](EntityForm.InitializeComponent().md 'Pf2eDataScrapper\.WPF\.EntityViewer\.EntityForm\.InitializeComponent\(\)') | InitializeComponent |
+| [InitializeComponent\(\)](EntityForm.InitializeComponent().md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.EntityForm\.InitializeComponent\(\)') | InitializeComponent |
diff --git a/Documentation/Pf2e.Scrapper/EntityListControl.InitializeComponent().md b/Documentation/Pf2e.Scrapper/EntityListControl.InitializeComponent().md
new file mode 100644
index 0000000..13989ff
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityListControl.InitializeComponent().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.Component](Pf2e.Scrapper.WPF.EntityViewer.Component.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.Component').[EntityListControl](EntityListControl.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.Component\.EntityListControl')
+
+## EntityListControl\.InitializeComponent\(\) Method
+
+InitializeComponent
+
+```csharp
+public void InitializeComponent();
+```
+
+Implements [InitializeComponent\(\)](https://docs.microsoft.com/en-us/dotnet/api/System.Windows.Markup.IComponentConnector.InitializeComponent 'System\.Windows\.Markup\.IComponentConnector\.InitializeComponent')
\ No newline at end of file
diff --git a/Documentation/Pf2eDataScrapper/EntityListControl.md b/Documentation/Pf2e.Scrapper/EntityListControl.md
similarity index 86%
rename from Documentation/Pf2eDataScrapper/EntityListControl.md
rename to Documentation/Pf2e.Scrapper/EntityListControl.md
index e317441..3ad95df 100644
--- a/Documentation/Pf2eDataScrapper/EntityListControl.md
+++ b/Documentation/Pf2e.Scrapper/EntityListControl.md
@@ -1,5 +1,5 @@
-#### [Pf2eDataScrapper](index.md 'index')
-### [Pf2eDataScrapper\.WPF\.EntityViewer\.Component](Pf2eDataScrapper.WPF.EntityViewer.Component.md 'Pf2eDataScrapper\.WPF\.EntityViewer\.Component')
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.Component](Pf2e.Scrapper.WPF.EntityViewer.Component.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.Component')
## EntityListControl Class
@@ -15,4 +15,4 @@ Implements [System\.Windows\.Markup\.IComponentConnector](https://docs.microsoft
| Methods | |
| :--- | :--- |
-| [InitializeComponent\(\)](EntityListControl.InitializeComponent().md 'Pf2eDataScrapper\.WPF\.EntityViewer\.Component\.EntityListControl\.InitializeComponent\(\)') | InitializeComponent |
+| [InitializeComponent\(\)](EntityListControl.InitializeComponent().md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.Component\.EntityListControl\.InitializeComponent\(\)') | InitializeComponent |
diff --git a/Documentation/Pf2e.Scrapper/EntityListViewModel.Reload().md b/Documentation/Pf2e.Scrapper/EntityListViewModel.Reload().md
new file mode 100644
index 0000000..3b98bee
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityListViewModel.Reload().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.ViewModel](Pf2e.Scrapper.WPF.EntityViewer.ViewModel.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.ViewModel').[EntityListViewModel](EntityListViewModel.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.ViewModel\.EntityListViewModel')
+
+## EntityListViewModel\.Reload\(\) Method
+
+Выполняет запрос к базе данных и обрабатывает результаты\.
+
+```csharp
+public void Reload();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityListViewModel.md b/Documentation/Pf2e.Scrapper/EntityListViewModel.md
new file mode 100644
index 0000000..edc11bb
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityListViewModel.md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.WPF\.EntityViewer\.ViewModel](Pf2e.Scrapper.WPF.EntityViewer.ViewModel.md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.ViewModel')
+
+## EntityListViewModel Class
+
+```csharp
+internal class EntityListViewModel : Pf2e.Scrapper.WPF.ViewModelBase
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [Pf2e\.Scrapper\.WPF\.ViewModelBase](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Scrapper.WPF.ViewModelBase 'Pf2e\.Scrapper\.WPF\.ViewModelBase') 🡒 EntityListViewModel
+
+| Methods | |
+| :--- | :--- |
+| [Reload\(\)](EntityListViewModel.Reload().md 'Pf2e\.Scrapper\.WPF\.EntityViewer\.ViewModel\.EntityListViewModel\.Reload\(\)') | Выполняет запрос к базе данных и обрабатывает результаты\. |
diff --git a/Documentation/Pf2e.Scrapper/EntityView.Context.md b/Documentation/Pf2e.Scrapper/EntityView.Context.md
new file mode 100644
index 0000000..56a13ae
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.Context.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.Context Property
+
+Контекст базы данных, используемый для получения сущностей\.
+
+```csharp
+private Pf2e.Database.Pf2eDbContext Context { private get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.Entity.md b/Documentation/Pf2e.Scrapper/EntityView.Entity.md
new file mode 100644
index 0000000..13d2e7e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.Entity Property
+
+Корневая сущность\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Base.Entity 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.EntityView.md b/Documentation/Pf2e.Scrapper/EntityView.EntityView.md
new file mode 100644
index 0000000..8382752
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.EntityView.md
@@ -0,0 +1,61 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView Constructors
+
+| Overloads | |
+| :--- | :--- |
+| [EntityView\(Pf2eDbContext, Entity\)](EntityView.EntityView.md#Pf2e.Scrapper.Helpers.EntityView.EntityView(Pf2e.Database.Pf2eDbContext,Pf2e.Database.Model.Base.Entity) 'Pf2e\.Scrapper\.Helpers\.EntityView\.EntityView\(Pf2e\.Database\.Pf2eDbContext, Pf2e\.Database\.Model\.Base\.Entity\)') | Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными\. |
+| [EntityView\(Pf2eDbContext, EntityType, int\)](EntityView.EntityView.md#Pf2e.Scrapper.Helpers.EntityView.EntityView(Pf2e.Database.Pf2eDbContext,Pf2e.Database.Model.Enum.EntityType,int) 'Pf2e\.Scrapper\.Helpers\.EntityView\.EntityView\(Pf2e\.Database\.Pf2eDbContext, Pf2e\.Database\.Model\.Enum\.EntityType, int\)') | Конструктор класса, который получает сущность из базы данных по типу и идентификатору и заполняет её данными\. |
+
+
+
+## EntityView\(Pf2eDbContext, Entity\) Constructor
+
+Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными\.
+
+```csharp
+public EntityView(Pf2e.Database.Pf2eDbContext context, Pf2e.Database.Model.Base.Entity entity);
+```
+#### Parameters
+
+
+
+`context` [Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')
+
+Контекст базы данных\.
+
+
+
+`entity` [Pf2e\.Database\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Base.Entity 'Pf2e\.Database\.Model\.Base\.Entity')
+
+Сущность, которую нужно обработать\.
+
+
+
+## EntityView\(Pf2eDbContext, EntityType, int\) Constructor
+
+Конструктор класса, который получает сущность из базы данных по типу и идентификатору и заполняет её данными\.
+
+```csharp
+public EntityView(Pf2e.Database.Pf2eDbContext context, Pf2e.Database.Model.Enum.EntityType type, int id);
+```
+#### Parameters
+
+
+
+`context` [Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')
+
+Контекст базы данных\.
+
+
+
+`type` [Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
+
+Тип запрашиваемой сущности\.
+
+
+
+`id` [System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+
+Идентификатор запрашиваемой сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.GetEntity(EntityType,int).md b/Documentation/Pf2e.Scrapper/EntityView.GetEntity(EntityType,int).md
new file mode 100644
index 0000000..9964686
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.GetEntity(EntityType,int).md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.GetEntity\(EntityType, int\) Method
+
+Получает сущность из базы данных по типу и идентификатору\.
+
+```csharp
+private Pf2e.Database.Model.Base.Entity GetEntity(Pf2e.Database.Model.Enum.EntityType type, int id);
+```
+#### Parameters
+
+
+
+`type` [Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
+
+Тип сущности\.
+
+
+
+`id` [System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+
+Идентификатор сущности\.
+
+#### Returns
+[Pf2e\.Database\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Base.Entity 'Pf2e\.Database\.Model\.Base\.Entity')
+Сущность, соответствующая указанному типу и идентификатору\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.GetSubEntity(EntityType,int).md b/Documentation/Pf2e.Scrapper/EntityView.GetSubEntity(EntityType,int).md
new file mode 100644
index 0000000..dfff8f9
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.GetSubEntity(EntityType,int).md
@@ -0,0 +1,27 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.GetSubEntity\(EntityType, int\) Method
+
+Получает подчинённую сущность по типу и идентификатору\.
+
+```csharp
+private Pf2e.Database.Model.IEntity? GetSubEntity(Pf2e.Database.Model.Enum.EntityType type, int id);
+```
+#### Parameters
+
+
+
+`type` [Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
+
+Тип сущности\.
+
+
+
+`id` [System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+
+Идентификатор сущности\.
+
+#### Returns
+[Pf2e\.Database\.Model\.IEntity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.IEntity 'Pf2e\.Database\.Model\.IEntity')
+Подчинённая сущность, соответствующая указанному типу и идентификатору\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.Getter.Getter(EntityType).md b/Documentation/Pf2e.Scrapper/EntityView.Getter.Getter(EntityType).md
new file mode 100644
index 0000000..8b2e349
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.Getter.Getter(EntityType).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView').[Getter](EntityView.Getter.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter')
+
+## Getter\(EntityType\) Constructor
+
+Абстрактный класс, который определяет метод получения сущности из базы данных\.
+
+```csharp
+protected Getter(Pf2e.Database.Model.Enum.EntityType type);
+```
+#### Parameters
+
+
+
+`type` [Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
+
+Связанный тип сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.Getter.md b/Documentation/Pf2e.Scrapper/EntityView.Getter.md
new file mode 100644
index 0000000..731ebd0
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.Getter.md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.Getter Class
+
+Абстрактный класс, который определяет метод получения сущности из базы данных\.
+
+```csharp
+private abstract class EntityView.Getter
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 Getter
+
+Derived
+↳ [Getter<T>](EntityView.Getter_T_.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter\')
+
+| Constructors | |
+| :--- | :--- |
+| [Getter\(EntityType\)](EntityView.Getter.Getter(EntityType).md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter\.Getter\(Pf2e\.Database\.Model\.Enum\.EntityType\)') | Абстрактный класс, который определяет метод получения сущности из базы данных\. |
diff --git a/Documentation/Pf2e.Scrapper/EntityView.Getter_T_.Getter(EntityType,Func_Pf2eDbContext,IQueryable_T__).md b/Documentation/Pf2e.Scrapper/EntityView.Getter_T_.Getter(EntityType,Func_Pf2eDbContext,IQueryable_T__).md
new file mode 100644
index 0000000..1536152
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.Getter_T_.Getter(EntityType,Func_Pf2eDbContext,IQueryable_T__).md
@@ -0,0 +1,23 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView').[Getter<T>](EntityView.Getter_T_.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter\')
+
+## Getter\(EntityType, Func\\>\) Constructor
+
+Класс, определяющий метод получения сущности из базы данных\.
+
+```csharp
+public Getter(Pf2e.Database.Model.Enum.EntityType type, System.Func> method);
+```
+#### Parameters
+
+
+
+`type` [Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
+
+Связанный тип сущности\.
+
+
+
+`method` [System\.Func<](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System\.Func\`2')[Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System\.Func\`2')[System\.Linq\.IQueryable<](https://docs.microsoft.com/en-us/dotnet/api/System.Linq.IQueryable-1 'System\.Linq\.IQueryable\`1')[T](EntityView.Getter_T_.md#Pf2e.Scrapper.Helpers.EntityView.Getter_T_.T 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter\\.T')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Linq.IQueryable-1 'System\.Linq\.IQueryable\`1')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Func-2 'System\.Func\`2')
+
+Метод получения сущности из базы данных\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.Getter_T_.md b/Documentation/Pf2e.Scrapper/EntityView.Getter_T_.md
new file mode 100644
index 0000000..a5f0643
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.Getter_T_.md
@@ -0,0 +1,24 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.Getter\ Class
+
+Класс, определяющий метод получения сущности из базы данных\.
+
+```csharp
+private class EntityView.Getter : Pf2e.Scrapper.Helpers.EntityView.Getter
+ where T : Pf2e.Database.Model.IEntity
+```
+#### Type parameters
+
+
+
+`T`
+
+Тип данных основной сущности\.
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [Getter](EntityView.Getter.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter') 🡒 Getter
+
+| Constructors | |
+| :--- | :--- |
+| [Getter\(EntityType, Func<Pf2eDbContext,IQueryable<T>>\)](EntityView.Getter_T_.Getter(EntityType,Func_Pf2eDbContext,IQueryable_T__).md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter\\.Getter\(Pf2e\.Database\.Model\.Enum\.EntityType, System\.Func\\>\)') | Класс, определяющий метод получения сущности из базы данных\. |
diff --git a/Documentation/Pf2e.Scrapper/EntityView.SubEntity.md b/Documentation/Pf2e.Scrapper/EntityView.SubEntity.md
new file mode 100644
index 0000000..817059c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.SubEntity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.SubEntity Property
+
+Основная сущность\.
+
+```csharp
+public Pf2e.Database.Model.IEntity? SubEntity { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.IEntity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.IEntity 'Pf2e\.Database\.Model\.IEntity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView._getters.md b/Documentation/Pf2e.Scrapper/EntityView._getters.md
new file mode 100644
index 0000000..525da2e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView._getters.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers').[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
+
+## EntityView\.\_getters Field
+
+Словарь, содержащий методы получения сущностей из базы данных\.
+
+```csharp
+private readonly ICollection _getters;
+```
+
+#### Field Value
+[System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[Getter](EntityView.Getter.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Getter')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EntityView.md b/Documentation/Pf2e.Scrapper/EntityView.md
new file mode 100644
index 0000000..bf9c44d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EntityView.md
@@ -0,0 +1,32 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Helpers](Pf2e.Scrapper.Helpers.md 'Pf2e\.Scrapper\.Helpers')
+
+## EntityView Class
+
+Класс, обрабатывающий запросы к сущностям и подключающий необходимые данные\.
+
+```csharp
+public class EntityView
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 EntityView
+
+| Constructors | |
+| :--- | :--- |
+| [EntityView\(Pf2eDbContext, Entity\)](EntityView.EntityView.md#Pf2e.Scrapper.Helpers.EntityView.EntityView(Pf2e.Database.Pf2eDbContext,Pf2e.Database.Model.Base.Entity) 'Pf2e\.Scrapper\.Helpers\.EntityView\.EntityView\(Pf2e\.Database\.Pf2eDbContext, Pf2e\.Database\.Model\.Base\.Entity\)') | Конструктор класса, который получает сущность из базы данных по переданной сущности и заполняет её данными\. |
+| [EntityView\(Pf2eDbContext, EntityType, int\)](EntityView.EntityView.md#Pf2e.Scrapper.Helpers.EntityView.EntityView(Pf2e.Database.Pf2eDbContext,Pf2e.Database.Model.Enum.EntityType,int) 'Pf2e\.Scrapper\.Helpers\.EntityView\.EntityView\(Pf2e\.Database\.Pf2eDbContext, Pf2e\.Database\.Model\.Enum\.EntityType, int\)') | Конструктор класса, который получает сущность из базы данных по типу и идентификатору и заполняет её данными\. |
+
+| Fields | |
+| :--- | :--- |
+| [\_getters](EntityView._getters.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.\_getters') | Словарь, содержащий методы получения сущностей из базы данных\. |
+
+| Properties | |
+| :--- | :--- |
+| [Context](EntityView.Context.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Context') | Контекст базы данных, используемый для получения сущностей\. |
+| [Entity](EntityView.Entity.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.Entity') | Корневая сущность\. |
+| [SubEntity](EntityView.SubEntity.md 'Pf2e\.Scrapper\.Helpers\.EntityView\.SubEntity') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [GetEntity\(EntityType, int\)](EntityView.GetEntity(EntityType,int).md 'Pf2e\.Scrapper\.Helpers\.EntityView\.GetEntity\(Pf2e\.Database\.Model\.Enum\.EntityType, int\)') | Получает сущность из базы данных по типу и идентификатору\. |
+| [GetSubEntity\(EntityType, int\)](EntityView.GetSubEntity(EntityType,int).md 'Pf2e\.Scrapper\.Helpers\.EntityView\.GetSubEntity\(Pf2e\.Database\.Model\.Enum\.EntityType, int\)') | Получает подчинённую сущность по типу и идентификатору\. |
diff --git a/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.Data.md b/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.Data.md
new file mode 100644
index 0000000..0a6de3d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.Data.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors](Pf2e.Scrapper.Processors.md 'Pf2e\.Scrapper\.Processors').[EnumSolver<TEnum>](EnumSolver_TEnum_.md 'Pf2e\.Scrapper\.Processors\.EnumSolver\')
+
+## EnumSolver\\.Data Property
+
+Словарь, содержащий данные для разрешения значений перечислений\.
+
+```csharp
+public abstract System.Collections.Generic.Dictionary Data { get; }
+```
+
+#### Property Value
+[System\.Collections\.Generic\.Dictionary<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')[TEnum](EnumSolver_TEnum_.md#Pf2e.Scrapper.Processors.EnumSolver_TEnum_.TEnum 'Pf2e\.Scrapper\.Processors\.EnumSolver\\.TEnum')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.Dictionary-2 'System\.Collections\.Generic\.Dictionary\`2')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.SolveEnum(string).md b/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.SolveEnum(string).md
new file mode 100644
index 0000000..42cd909
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.SolveEnum(string).md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors](Pf2e.Scrapper.Processors.md 'Pf2e\.Scrapper\.Processors').[EnumSolver<TEnum>](EnumSolver_TEnum_.md 'Pf2e\.Scrapper\.Processors\.EnumSolver\')
+
+## EnumSolver\\.SolveEnum\(string\) Method
+
+Метод для разрешения значения перечисления по строковому вводу\.
+
+```csharp
+public TEnum? SolveEnum(string input);
+```
+#### Parameters
+
+
+
+`input` [System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+
+Строка, представляющая значение перечисления\.
+
+#### Returns
+[TEnum](EnumSolver_TEnum_.md#Pf2e.Scrapper.Processors.EnumSolver_TEnum_.TEnum 'Pf2e\.Scrapper\.Processors\.EnumSolver\\.TEnum')
+Элемент перечисления [TEnum](EnumSolver_TEnum_.md#Pf2e.Scrapper.Processors.EnumSolver_TEnum_.TEnum 'Pf2e\.Scrapper\.Processors\.EnumSolver\\.TEnum'), если найден; иначе `null`\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.md b/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.md
new file mode 100644
index 0000000..78549f4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnumSolver_TEnum_.md
@@ -0,0 +1,28 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Processors](Pf2e.Scrapper.Processors.md 'Pf2e\.Scrapper\.Processors')
+
+## EnumSolver\ Class
+
+Абстрактный класс для разрешения значений перечислений\.
+
+```csharp
+public abstract class EnumSolver
+ where TEnum : System.Enum
+```
+#### Type parameters
+
+
+
+`TEnum`
+
+Тип перечисления, который будет разрешаться\.
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 EnumSolver
+
+| Properties | |
+| :--- | :--- |
+| [Data](EnumSolver_TEnum_.Data.md 'Pf2e\.Scrapper\.Processors\.EnumSolver\\.Data') | Словарь, содержащий данные для разрешения значений перечислений\. |
+
+| Methods | |
+| :--- | :--- |
+| [SolveEnum\(string\)](EnumSolver_TEnum_.SolveEnum(string).md 'Pf2e\.Scrapper\.Processors\.EnumSolver\\.SolveEnum\(string\)') | Метод для разрешения значения перечисления по строковому вводу\. |
diff --git a/Documentation/Pf2e.Scrapper/EnvSettings.DataDir.md b/Documentation/Pf2e.Scrapper/EnvSettings.DataDir.md
new file mode 100644
index 0000000..be156b7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnvSettings.DataDir.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[EnvSettings](EnvSettings.md 'Pf2e\.Scrapper\.EnvSettings')
+
+## EnvSettings\.DataDir Property
+
+Папка в входными данными\.
+
+```csharp
+public static System.IO.DirectoryInfo DataDir { get; }
+```
+
+#### Property Value
+[System\.IO\.DirectoryInfo](https://docs.microsoft.com/en-us/dotnet/api/System.IO.DirectoryInfo 'System\.IO\.DirectoryInfo')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnvSettings.DataDirPath.md b/Documentation/Pf2e.Scrapper/EnvSettings.DataDirPath.md
new file mode 100644
index 0000000..f26706f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnvSettings.DataDirPath.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[EnvSettings](EnvSettings.md 'Pf2e\.Scrapper\.EnvSettings')
+
+## EnvSettings\.DataDirPath Property
+
+Путь к папке с входными данными\.
+
+```csharp
+public static string DataDirPath { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnvSettings.DatabaseConnection.md b/Documentation/Pf2e.Scrapper/EnvSettings.DatabaseConnection.md
new file mode 100644
index 0000000..6908466
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnvSettings.DatabaseConnection.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[EnvSettings](EnvSettings.md 'Pf2e\.Scrapper\.EnvSettings')
+
+## EnvSettings\.DatabaseConnection Property
+
+Строка подключения к базе данных\.
+
+```csharp
+public static string DatabaseConnection { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnvSettings.Load().md b/Documentation/Pf2e.Scrapper/EnvSettings.Load().md
new file mode 100644
index 0000000..b71f5f5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnvSettings.Load().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[EnvSettings](EnvSettings.md 'Pf2e\.Scrapper\.EnvSettings')
+
+## EnvSettings\.Load\(\) Method
+
+Загрузка файла настроек \`\.env\`\.
+
+```csharp
+public static void Load();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnvSettings.OutputDir.md b/Documentation/Pf2e.Scrapper/EnvSettings.OutputDir.md
new file mode 100644
index 0000000..6186063
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnvSettings.OutputDir.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[EnvSettings](EnvSettings.md 'Pf2e\.Scrapper\.EnvSettings')
+
+## EnvSettings\.OutputDir Property
+
+Папка для сохранения результатов\.
+
+```csharp
+public static string OutputDir { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnvSettings.OutputDirPath.md b/Documentation/Pf2e.Scrapper/EnvSettings.OutputDirPath.md
new file mode 100644
index 0000000..1757327
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnvSettings.OutputDirPath.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper').[EnvSettings](EnvSettings.md 'Pf2e\.Scrapper\.EnvSettings')
+
+## EnvSettings\.OutputDirPath Property
+
+Путь к папке для сохранения результатов\.
+
+```csharp
+public static string OutputDirPath { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EnvSettings.md b/Documentation/Pf2e.Scrapper/EnvSettings.md
new file mode 100644
index 0000000..97c094b
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EnvSettings.md
@@ -0,0 +1,24 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper](Pf2e.Scrapper.md 'Pf2e\.Scrapper')
+
+## EnvSettings Class
+
+Класс настроек\.
+
+```csharp
+public static class EnvSettings
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 EnvSettings
+
+| Properties | |
+| :--- | :--- |
+| [DatabaseConnection](EnvSettings.DatabaseConnection.md 'Pf2e\.Scrapper\.EnvSettings\.DatabaseConnection') | Строка подключения к базе данных\. |
+| [DataDir](EnvSettings.DataDir.md 'Pf2e\.Scrapper\.EnvSettings\.DataDir') | Папка в входными данными\. |
+| [DataDirPath](EnvSettings.DataDirPath.md 'Pf2e\.Scrapper\.EnvSettings\.DataDirPath') | Путь к папке с входными данными\. |
+| [OutputDir](EnvSettings.OutputDir.md 'Pf2e\.Scrapper\.EnvSettings\.OutputDir') | Папка для сохранения результатов\. |
+| [OutputDirPath](EnvSettings.OutputDirPath.md 'Pf2e\.Scrapper\.EnvSettings\.OutputDirPath') | Путь к папке для сохранения результатов\. |
+
+| Methods | |
+| :--- | :--- |
+| [Load\(\)](EnvSettings.Load().md 'Pf2e\.Scrapper\.EnvSettings\.Load\(\)') | Загрузка файла настроек \`\.env\`\. |
diff --git a/Documentation/Pf2e.Scrapper/EpithetProcessor.ClassName.md b/Documentation/Pf2e.Scrapper/EpithetProcessor.ClassName.md
new file mode 100644
index 0000000..d6900ad
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EpithetProcessor.ClassName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EpithetProcessor](EpithetProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor')
+
+## EpithetProcessor\.ClassName Property
+
+Название подкласса\.
+
+```csharp
+public override string ClassName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EpithetProcessor.GroupName.md b/Documentation/Pf2e.Scrapper/EpithetProcessor.GroupName.md
new file mode 100644
index 0000000..10d3be1
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EpithetProcessor.GroupName.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EpithetProcessor](EpithetProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor')
+
+## EpithetProcessor\.GroupName Property
+
+Название группы подклассов\.
+
+```csharp
+public override string GroupName { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EpithetProcessor.Object.md b/Documentation/Pf2e.Scrapper/EpithetProcessor.Object.md
new file mode 100644
index 0000000..2d7fceb
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EpithetProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EpithetProcessor](EpithetProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor')
+
+## EpithetProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public override Pf2e.Database.Model.Structure.Subclass Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Subclass](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Subclass 'Pf2e\.Database\.Model\.Structure\.Subclass')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EpithetProcessor.ProcessObject().md b/Documentation/Pf2e.Scrapper/EpithetProcessor.ProcessObject().md
new file mode 100644
index 0000000..67301d2
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EpithetProcessor.ProcessObject().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses').[EpithetProcessor](EpithetProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor')
+
+## EpithetProcessor\.ProcessObject\(\) Method
+
+Обработка полей подкласса\.
+
+```csharp
+public override void ProcessObject();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/EpithetProcessor.md b/Documentation/Pf2e.Scrapper/EpithetProcessor.md
new file mode 100644
index 0000000..08cd711
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/EpithetProcessor.md
@@ -0,0 +1,20 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Subclasses.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses')
+
+## EpithetProcessor Class
+
+```csharp
+internal class EpithetProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractSubclassProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 [AbstractSubclassProcessor](AbstractSubclassProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractSubclassProcessor') 🡒 EpithetProcessor
+
+| Properties | |
+| :--- | :--- |
+| [ClassName](EpithetProcessor.ClassName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor\.ClassName') | Название подкласса\. |
+| [GroupName](EpithetProcessor.GroupName.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor\.GroupName') | Название группы подклассов\. |
+| [Object](EpithetProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor\.Object') | Основная сущность\. |
+
+| Methods | |
+| :--- | :--- |
+| [ProcessObject\(\)](EpithetProcessor.ProcessObject().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Subclasses\.EpithetProcessor\.ProcessObject\(\)') | Обработка полей подкласса\. |
diff --git a/Documentation/Pf2e.Scrapper/FeatProcessor.Add().md b/Documentation/Pf2e.Scrapper/FeatProcessor.Add().md
new file mode 100644
index 0000000..fffd37e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FeatProcessor.Add().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[FeatProcessor](FeatProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor')
+
+## FeatProcessor\.Add\(\) Method
+
+Добавление основной сущности в контекст базы данных\.
+
+```csharp
+protected override void Add();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FeatProcessor.GetDescription().md b/Documentation/Pf2e.Scrapper/FeatProcessor.GetDescription().md
new file mode 100644
index 0000000..262d589
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FeatProcessor.GetDescription().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[FeatProcessor](FeatProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor')
+
+## FeatProcessor\.GetDescription\(\) Method
+
+Сгенерировать описание сущности\.
+
+```csharp
+protected override string GetDescription();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Описание сущности
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FeatProcessor.Object.md b/Documentation/Pf2e.Scrapper/FeatProcessor.Object.md
new file mode 100644
index 0000000..bf1632f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FeatProcessor.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[FeatProcessor](FeatProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor')
+
+## FeatProcessor\.Object Property
+
+Основная сущность\.
+
+```csharp
+public virtual Pf2e.Database.Model.Structure.Feat Object { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Structure\.Feat](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Structure.Feat 'Pf2e\.Database\.Model\.Structure\.Feat')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FeatProcessor.Process().md b/Documentation/Pf2e.Scrapper/FeatProcessor.Process().md
new file mode 100644
index 0000000..3ceb334
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FeatProcessor.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[FeatProcessor](FeatProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor')
+
+## FeatProcessor\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FeatProcessor.Type.md b/Documentation/Pf2e.Scrapper/FeatProcessor.Type.md
new file mode 100644
index 0000000..5badfe5
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FeatProcessor.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types').[FeatProcessor](FeatProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor')
+
+## FeatProcessor\.Type Property
+
+Тип сущности\.
+
+```csharp
+public override Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FeatProcessor.md b/Documentation/Pf2e.Scrapper/FeatProcessor.md
new file mode 100644
index 0000000..ab32e59
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FeatProcessor.md
@@ -0,0 +1,21 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types](Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.Types.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types')
+
+## FeatProcessor Class
+
+```csharp
+internal class FeatProcessor : Pf2e.Scrapper.Importers.Implementations.Aonprd.Processors.AbstractEntityProcessor
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 [AbstractEntityProcessor](AbstractEntityProcessor.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.AbstractEntityProcessor') 🡒 FeatProcessor
+
+| Properties | |
+| :--- | :--- |
+| [Object](FeatProcessor.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor\.Object') | Основная сущность\. |
+| [Type](FeatProcessor.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor\.Type') | Тип сущности\. |
+
+| Methods | |
+| :--- | :--- |
+| [Add\(\)](FeatProcessor.Add().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor\.Add\(\)') | Добавление основной сущности в контекст базы данных\. |
+| [GetDescription\(\)](FeatProcessor.GetDescription().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor\.GetDescription\(\)') | Сгенерировать описание сущности\. |
+| [Process\(\)](FeatProcessor.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.Aonprd\.Processors\.Types\.FeatProcessor\.Process\(\)') | Основной метод обработки данных\. |
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.AddExternal().md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.AddExternal().md
new file mode 100644
index 0000000..25a3a47
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.AddExternal().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.AddExternal\(\) Method
+
+Генерация внешних ссылок сущности\.
+
+```csharp
+protected virtual void AddExternal();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.CheckEntity().md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.CheckEntity().md
new file mode 100644
index 0000000..6ef50c3
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.CheckEntity().md
@@ -0,0 +1,10 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.CheckEntity\(\) Method
+
+Проверяет входные данные на наличие идентификатора сущности и игнорирует её, если она указана в списке игнорируемых\.
+
+```csharp
+public virtual void CheckEntity();
+```
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Context.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Context.md
new file mode 100644
index 0000000..a25d29e
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Context.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Context Property
+
+Предоставляет механизм для освобождения неуправляемых ресурсов\.
+
+```csharp
+public Pf2e.Database.Pf2eDbContext Context { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Entity.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Entity.md
new file mode 100644
index 0000000..96887f9
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Entity.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Entity Property
+
+Основная сущность, которая будет использоваться для обработки данных\.
+
+```csharp
+public Pf2e.Database.Model.Base.Entity Entity { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Base\.Entity](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Base.Entity 'Pf2e\.Database\.Model\.Base\.Entity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(DatabaseHelper,Pf2eDbContext,FoundryEnGlobals,ProcessorInput).md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(DatabaseHelper,Pf2eDbContext,FoundryEnGlobals,ProcessorInput).md
new file mode 100644
index 0000000..b6abd87
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(DatabaseHelper,Pf2eDbContext,FoundryEnGlobals,ProcessorInput).md
@@ -0,0 +1,37 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\(DatabaseHelper, Pf2eDbContext, FoundryEnGlobals, ProcessorInput\) Constructor
+
+Абстрактный класс\-обработчик сущностей, полученных из молуля Foundry pf2e\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+protected FoundryEnAbstractProcessor(Pf2e.Scrapper.Helpers.DatabaseHelper databaseHelper, Pf2e.Database.Pf2eDbContext context, Pf2e.Scrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals globals, Pf2e.Scrapper.Processors.ProcessorInput input);
+```
+#### Parameters
+
+
+
+`databaseHelper` [DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
+
+\[DI\] \
+
+
+
+`context` [Pf2e\.Database\.Pf2eDbContext](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Pf2eDbContext 'Pf2e\.Database\.Pf2eDbContext')
+
+\[DI\] \
+
+
+
+`globals` [FoundryEnGlobals](FoundryEnGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
+
+\[DI\] \
+
+
+
+`input` [ProcessorInput](ProcessorInput.md 'Pf2e\.Scrapper\.Processors\.ProcessorInput')
+
+Объект обработки вводимого JSON\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.GetEntityName().md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.GetEntityName().md
new file mode 100644
index 0000000..72bda6c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.GetEntityName().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.GetEntityName\(\) Method
+
+Получить имя сущности из входных данных\.
+
+```csharp
+protected virtual string GetEntityName();
+```
+
+#### Returns
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
+Имя сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Globals.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Globals.md
new file mode 100644
index 0000000..ddd32d7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Globals.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Globals Property
+
+Глобальные константы и утилиты для импорта данных в формате Foundry En\.
+
+```csharp
+public Pf2e.Scrapper.Importers.Implementations.FoundryEn.Helpers.FoundryEnGlobals Globals { get; }
+```
+
+#### Property Value
+[FoundryEnGlobals](FoundryEnGlobals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Helper.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Helper.md
new file mode 100644
index 0000000..65538a6
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Helper.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Helper Property
+
+Класс предоставляет методы для работы с базой данных\.
+
+```csharp
+protected Pf2e.Scrapper.Helpers.DatabaseHelper Helper { protected get; }
+```
+
+#### Property Value
+[DatabaseHelper](DatabaseHelper.md 'Pf2e\.Scrapper\.Helpers\.DatabaseHelper')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Name.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Name.md
new file mode 100644
index 0000000..739429c
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Name.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Name Property
+
+Название сущности, которое будет использоваться для обработки данных\.
+
+```csharp
+public string Name { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Object.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Object.md
new file mode 100644
index 0000000..284a606
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Object.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Object Property
+
+Подчинённая сущность, которая будет использоваться для обработки данных\.
+
+```csharp
+public TEntity Object { get; }
+```
+
+#### Property Value
+[TEntity](FoundryEnAbstractProcessor_TEntity_.md#Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.FoundryEnAbstractProcessor_TEntity_.TEntity 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.TEntity')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Process().md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Process().md
new file mode 100644
index 0000000..ac44aa7
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Process().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Process\(\) Method
+
+Основной метод обработки данных\.
+
+```csharp
+public override void Process();
+```
+
+Implements [Process\(\)](IProcessor.Process().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Process\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.ResolveEntity().md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.ResolveEntity().md
new file mode 100644
index 0000000..45bc09f
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.ResolveEntity().md
@@ -0,0 +1,14 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.ResolveEntity\(\) Method
+
+Разрешает сущность, основываясь на входных данных\.
+
+```csharp
+public virtual int ResolveEntity();
+```
+
+#### Returns
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+Идентификатор сущности\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Save().md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Save().md
new file mode 100644
index 0000000..945fe31
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Save().md
@@ -0,0 +1,12 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Save\(\) Method
+
+Метод для сохранения изменений в базе данных\.
+
+```csharp
+public override void Save();
+```
+
+Implements [Save\(\)](IProcessor.Save().md 'Pf2e\.Scrapper\.Processors\.Definitions\.IProcessor\.Save\(\)')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Type.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Type.md
new file mode 100644
index 0000000..fa0b8cd
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.Type.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.Type Property
+
+Тип сущности\.
+
+```csharp
+public abstract Pf2e.Database.Model.Enum.EntityType Type { get; }
+```
+
+#### Property Value
+[Pf2e\.Database\.Model\.Enum\.EntityType](https://docs.microsoft.com/en-us/dotnet/api/Pf2e.Database.Model.Enum.EntityType 'Pf2e\.Database\.Model\.Enum\.EntityType')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.View.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.View.md
new file mode 100644
index 0000000..b0ec884
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.View.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors').[FoundryEnAbstractProcessor<TEntity>](FoundryEnAbstractProcessor_TEntity_.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\')
+
+## FoundryEnAbstractProcessor\\.View Property
+
+Представление сущности, которое будет использоваться для обработки данных\.
+
+```csharp
+public Pf2e.Scrapper.Helpers.EntityView View { get; private set; }
+```
+
+#### Property Value
+[EntityView](EntityView.md 'Pf2e\.Scrapper\.Helpers\.EntityView')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.md b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.md
new file mode 100644
index 0000000..109fd52
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnAbstractProcessor_TEntity_.md
@@ -0,0 +1,44 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Processors.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors')
+
+## FoundryEnAbstractProcessor\ Class
+
+Абстрактный класс\-обработчик сущностей, полученных из молуля Foundry pf2e\.
+Класс предназначен для обработки данных с помощью различных обработчиков,
+для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\.
+
+```csharp
+internal abstract class FoundryEnAbstractProcessor : Pf2e.Scrapper.Processors.Definitions.AbstractInputProcessor
+ where TEntity : class, Pf2e.Database.Model.IEntity
+```
+#### Type parameters
+
+
+
+`TEntity`
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractInputProcessor](AbstractInputProcessor.md 'Pf2e\.Scrapper\.Processors\.Definitions\.AbstractInputProcessor') 🡒 FoundryEnAbstractProcessor
+
+| Constructors | |
+| :--- | :--- |
+| [FoundryEnAbstractProcessor\(DatabaseHelper, Pf2eDbContext, FoundryEnGlobals, ProcessorInput\)](FoundryEnAbstractProcessor_TEntity_.FoundryEnAbstractProcessor(DatabaseHelper,Pf2eDbContext,FoundryEnGlobals,ProcessorInput).md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.FoundryEnAbstractProcessor\(Pf2e\.Scrapper\.Helpers\.DatabaseHelper, Pf2e\.Database\.Pf2eDbContext, Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Helpers\.FoundryEnGlobals, Pf2e\.Scrapper\.Processors\.ProcessorInput\)') | Абстрактный класс\-обработчик сущностей, полученных из молуля Foundry pf2e\. Класс предназначен для обработки данных с помощью различных обработчиков, для которых указан атрибут [ProcessorAttribute](ProcessorAttribute.md 'Pf2e\.Scrapper\.Processors\.Attributes\.ProcessorAttribute')\. |
+
+| Properties | |
+| :--- | :--- |
+| [Context](FoundryEnAbstractProcessor_TEntity_.Context.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Context') | Предоставляет механизм для освобождения неуправляемых ресурсов\. |
+| [Entity](FoundryEnAbstractProcessor_TEntity_.Entity.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Entity') | Основная сущность, которая будет использоваться для обработки данных\. |
+| [Globals](FoundryEnAbstractProcessor_TEntity_.Globals.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Globals') | Глобальные константы и утилиты для импорта данных в формате Foundry En\. |
+| [Helper](FoundryEnAbstractProcessor_TEntity_.Helper.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Helper') | Класс предоставляет методы для работы с базой данных\. |
+| [Name](FoundryEnAbstractProcessor_TEntity_.Name.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Name') | Название сущности, которое будет использоваться для обработки данных\. |
+| [Object](FoundryEnAbstractProcessor_TEntity_.Object.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Object') | Подчинённая сущность, которая будет использоваться для обработки данных\. |
+| [Type](FoundryEnAbstractProcessor_TEntity_.Type.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Type') | Тип сущности\. |
+| [View](FoundryEnAbstractProcessor_TEntity_.View.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.View') | Представление сущности, которое будет использоваться для обработки данных\. |
+
+| Methods | |
+| :--- | :--- |
+| [AddExternal\(\)](FoundryEnAbstractProcessor_TEntity_.AddExternal().md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.AddExternal\(\)') | Генерация внешних ссылок сущности\. |
+| [CheckEntity\(\)](FoundryEnAbstractProcessor_TEntity_.CheckEntity().md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.CheckEntity\(\)') | Проверяет входные данные на наличие идентификатора сущности и игнорирует её, если она указана в списке игнорируемых\. |
+| [GetEntityName\(\)](FoundryEnAbstractProcessor_TEntity_.GetEntityName().md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.GetEntityName\(\)') | Получить имя сущности из входных данных\. |
+| [Process\(\)](FoundryEnAbstractProcessor_TEntity_.Process().md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Process\(\)') | Основной метод обработки данных\. |
+| [ResolveEntity\(\)](FoundryEnAbstractProcessor_TEntity_.ResolveEntity().md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.ResolveEntity\(\)') | Разрешает сущность, основываясь на входных данных\. |
+| [Save\(\)](FoundryEnAbstractProcessor_TEntity_.Save().md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Processors\.FoundryEnAbstractProcessor\\.Save\(\)') | Метод для сохранения изменений в базе данных\. |
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Count(ICollection_string_).md b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Count(ICollection_string_).md
new file mode 100644
index 0000000..426d564
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Count(ICollection_string_).md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
+
+## FoundryEnCompendium\.Count\(ICollection\\) Method
+
+Возвращает количество элементов для указанного типа данных\.
+
+```csharp
+public override int Count(System.Collections.Generic.ICollection types);
+```
+#### Parameters
+
+
+
+`types` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+#### Returns
+[System\.Int32](https://docs.microsoft.com/en-us/dotnet/api/System.Int32 'System\.Int32')
+Количество элементов\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendium.FoundryEnCompendium(FoundryEnRepository).md b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.FoundryEnCompendium(FoundryEnRepository).md
new file mode 100644
index 0000000..0732154
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.FoundryEnCompendium(FoundryEnRepository).md
@@ -0,0 +1,17 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
+
+## FoundryEnCompendium\(FoundryEnRepository\) Constructor
+
+Загрузчик данных компендиума\.
+
+```csharp
+public FoundryEnCompendium(Pf2e.Scrapper.Importers.Implementations.FoundryEn.FoundryEnRepository repository);
+```
+#### Parameters
+
+
+
+`repository` [FoundryEnRepository](FoundryEnRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository')
+
+\
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Items.md b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Items.md
new file mode 100644
index 0000000..6a9c43d
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Items.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
+
+## FoundryEnCompendium\.Items Property
+
+Коллекция всех записей компендиума\.
+
+```csharp
+public System.Collections.Concurrent.ConcurrentBag Items { get; }
+```
+
+#### Property Value
+[System\.Collections\.Concurrent\.ConcurrentBag<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Concurrent.ConcurrentBag-1 'System\.Collections\.Concurrent\.ConcurrentBag\`1')[FoundryEnCompendiumItem](FoundryEnCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendiumItem')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Concurrent.ConcurrentBag-1 'System\.Collections\.Concurrent\.ConcurrentBag\`1')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Iterate(ICollection_string_).md b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Iterate(ICollection_string_).md
new file mode 100644
index 0000000..5471ea4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Iterate(ICollection_string_).md
@@ -0,0 +1,19 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
+
+## FoundryEnCompendium\.Iterate\(ICollection\\) Method
+
+Получение итератора сущностей\. Если указан тип type \- то только указанного типа\.
+
+```csharp
+public override System.Collections.Generic.IEnumerable> Iterate(System.Collections.Generic.ICollection types);
+```
+#### Parameters
+
+
+
+`types` [System\.Collections\.Generic\.ICollection<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.ICollection-1 'System\.Collections\.Generic\.ICollection\`1')
+
+#### Returns
+[System\.Collections\.Generic\.IEnumerable<](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')[System\.Tuple<](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[AbstractCompendiumItem](AbstractCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendiumItem')[,](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[Newtonsoft\.Json\.Linq\.JObject](https://docs.microsoft.com/en-us/dotnet/api/Newtonsoft.Json.Linq.JObject 'Newtonsoft\.Json\.Linq\.JObject')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Tuple-2 'System\.Tuple\`2')[>](https://docs.microsoft.com/en-us/dotnet/api/System.Collections.Generic.IEnumerable-1 'System\.Collections\.Generic\.IEnumerable\`1')
+Итератор сущностей\.
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Repository.md b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Repository.md
new file mode 100644
index 0000000..60cde84
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.Repository.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendium](FoundryEnCompendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium')
+
+## FoundryEnCompendium\.Repository Property
+
+Репозиторий данных\.
+
+```csharp
+public virtual Pf2e.Scrapper.Importers.Implementations.FoundryEn.FoundryEnRepository Repository { get; }
+```
+
+#### Property Value
+[FoundryEnRepository](FoundryEnRepository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendium.md b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.md
new file mode 100644
index 0000000..07ee0b4
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendium.md
@@ -0,0 +1,26 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium')
+
+## FoundryEnCompendium Class
+
+Загрузчик данных компендиума\.
+
+```csharp
+internal sealed class FoundryEnCompendium : Pf2e.Scrapper.Importers.AbstractCompendium
+```
+
+Inheritance [System\.Object](https://docs.microsoft.com/en-us/dotnet/api/System.Object 'System\.Object') 🡒 [AbstractCompendium](AbstractCompendium.md 'Pf2e\.Scrapper\.Importers\.AbstractCompendium') 🡒 FoundryEnCompendium
+
+| Constructors | |
+| :--- | :--- |
+| [FoundryEnCompendium\(FoundryEnRepository\)](FoundryEnCompendium.FoundryEnCompendium(FoundryEnRepository).md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.FoundryEnCompendium\(Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.FoundryEnRepository\)') | Загрузчик данных компендиума\. |
+
+| Properties | |
+| :--- | :--- |
+| [Items](FoundryEnCompendium.Items.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Items') | Коллекция всех записей компендиума\. |
+| [Repository](FoundryEnCompendium.Repository.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Repository') | Репозиторий данных\. |
+
+| Methods | |
+| :--- | :--- |
+| [Count\(ICollection<string>\)](FoundryEnCompendium.Count(ICollection_string_).md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Count\(System\.Collections\.Generic\.ICollection\\)') | Возвращает количество элементов для указанного типа данных\. |
+| [Iterate\(ICollection<string>\)](FoundryEnCompendium.Iterate(ICollection_string_).md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendium\.Iterate\(System\.Collections\.Generic\.ICollection\\)') | Получение итератора сущностей\. Если указан тип type \- то только указанного типа\. |
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendiumItem.File.md b/Documentation/Pf2e.Scrapper/FoundryEnCompendiumItem.File.md
new file mode 100644
index 0000000..4a06f46
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendiumItem.File.md
@@ -0,0 +1,13 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendiumItem](FoundryEnCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendiumItem')
+
+## FoundryEnCompendiumItem\.File Property
+
+Имя файла, в котором хранится сущность\.
+
+```csharp
+public string File { get; }
+```
+
+#### Property Value
+[System\.String](https://docs.microsoft.com/en-us/dotnet/api/System.String 'System\.String')
\ No newline at end of file
diff --git a/Documentation/Pf2e.Scrapper/FoundryEnCompendiumItem.FoundryEnCompendiumItem(string,string,string).md b/Documentation/Pf2e.Scrapper/FoundryEnCompendiumItem.FoundryEnCompendiumItem(string,string,string).md
new file mode 100644
index 0000000..46684ab
--- /dev/null
+++ b/Documentation/Pf2e.Scrapper/FoundryEnCompendiumItem.FoundryEnCompendiumItem(string,string,string).md
@@ -0,0 +1,29 @@
+#### [Pf2e\.Scrapper](index.md 'index')
+### [Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium](Pf2e.Scrapper.Importers.Implementations.FoundryEn.Compendium.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium').[FoundryEnCompendiumItem](FoundryEnCompendiumItem.md 'Pf2e\.Scrapper\.Importers\.Implementations\.FoundryEn\.Compendium\.FoundryEnCompendiumItem')
+
+## FoundryEnCompendiumItem\(string, string, string\) Constructor
+
+Ссылка на сущность с указанием файла, в котором она хранится\.
+
+```csharp
+public FoundryEnCompendiumItem(string id, string type, string file);
+```
+#### Parameters
+
+