zenghaowei 3 лет назад
Родитель
Сommit
67c64880f1

+ 142 - 0
assets/Script/game/element/JG0108.ts

@@ -0,0 +1,142 @@
+import BaseEvent from "../fight/evnet/base/BaseEvent";
+import FSprite from "../fight/object/FSprite";
+
+/**
+ * 地刺
+ */
+const { ccclass, property } = cc._decorator;
+
+interface ThornSprite {
+    isAtk: boolean,
+    sprite: FSprite
+}
+
+
+@ccclass
+export default class JG0108 extends BaseEvent {
+
+    @property({
+        displayName: '数值(怪物id)'
+    })
+    public monsterId = 1001;
+
+    @property({
+        displayName: '地刺出现间隔时间'
+    })
+    public interval = 2;
+
+    @property({
+        type: sp.Skeleton,
+        displayName: '地刺动画'
+    })
+    public spine: sp.Skeleton = null;
+
+    private isAtk = false;
+    private isPause = false;
+
+    //当前处于碰撞区域的对象
+    private spriteList: Array<ThornSprite> = [];
+
+    start() {
+        this.run();
+    }
+    update(dt) {
+        if (!this.ff.lockCamera) {
+            if (!this.ff.lockCamera != this.isPause) {
+                this.isPause = true;
+                if (this.spine) {
+                    this.spine.paused = true;
+                }
+                return
+            }
+        } else {
+            if (!this.ff.lockCamera != this.isPause) {
+                this.isPause = false;
+                if (this.spine) {
+                    this.spine.paused = false;
+                }
+            }
+        }
+        if (this.isAtk) {
+            this.spriteList.forEach(element => {
+                this.rmHP(element);
+            });
+        }
+    }
+    private rmHP(thornSprite: ThornSprite) {
+        if (thornSprite.isAtk) {
+            return;
+        }
+        if (thornSprite.sprite.hp <= 0) {
+            return;
+        }
+        thornSprite.isAtk = true;
+        let main = this.ff.main;
+        let attrData = main.sManage.getMonsterData(this.monsterId);
+        thornSprite.sprite.bAtkjs(attrData);
+    }
+
+    private run() {
+        this.spriteList.forEach(element => {
+            element.isAtk = false;
+        });
+
+        if (!this.interval) {
+            this.isAtk = true;
+        } else {
+            cc.tween(this).sequence(
+                cc.delayTime(this.interval),
+                cc.callFunc(() => {
+                    this.playAtk();
+                })
+            ).start()
+        }
+    }
+
+    private playAtk() {
+        this.isAtk = true;
+        this.spine.setAnimation(0, 'atk', false);
+        this.spine.setCompleteListener(() => {
+            this.isAtk = false;
+            this.spine.setCompleteListener(null);
+            this.spine.setAnimation(0, 'idle', true);
+            this.run()
+        });
+    }
+    onBeginContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, other: cc.PhysicsCollider) {
+        if (other.node.group == 'A') {
+            let obj = other.node.getComponent(FSprite);
+            this.ff = obj.ff;
+            this.pushSprite(obj);
+        }
+    }
+    onEndContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, other: cc.PhysicsCollider) {
+        if (other.node.group == 'A') {
+            let obj = other.node.getComponent(FSprite);
+            this.removeSprite(obj);
+        }
+    }
+
+    private pushSprite(sprite: FSprite) {
+        for (let i = 0; i < this.spriteList.length; i++) {
+            const element = this.spriteList[i];
+            if (element.sprite == sprite) {
+                return
+            }
+        }
+        this.spriteList.push({
+            isAtk: false,
+            sprite: sprite
+        })
+    }
+    private removeSprite(sprite: FSprite) {
+        for (let i = 0; i < this.spriteList.length; i++) {
+            const element = this.spriteList[i];
+            if (element.sprite == sprite) {
+                this.spriteList.splice(i, 1);
+                break
+            }
+        }
+    }
+
+}

+ 9 - 0
assets/Script/game/element/JG0108.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "1.0.8",
+  "uuid": "aa206f5e-4276-4a43-96f1-d605b551bc09",
+  "isPlugin": false,
+  "loadPluginInWeb": true,
+  "loadPluginInNative": true,
+  "loadPluginInEditor": false,
+  "subMetas": {}
+}

+ 2 - 2
assets/Script/game/element/JG0120.ts

@@ -15,7 +15,7 @@ const SpineName = {
 const { ccclass, property } = cc._decorator;
 
 @ccclass
-export default class JG0120 extends BaseEvent {
+export default class JG0111 extends BaseEvent {
 
     @property({
         displayName: '替换的图片',
@@ -112,7 +112,7 @@ export default class JG0120 extends BaseEvent {
         //检查其它开关是否打开
         for (let i = 0; i < this.mButtons.length; i++) {
             const element = this.mButtons[i];
-            let fdb = element.getComponent(JG0120)
+            let fdb = element.getComponent(JG0111)
             if (!fdb.isHang) return
         }
         this.isOver = true;

assets/Script/game/element/JG0120.ts.meta → assets/Script/game/element/JG0111.ts.meta


+ 151 - 108
assets/Script/game/fight/evnet/FFenceTrigger.ts

@@ -10,7 +10,7 @@ import WOneByone from "./map1/WOneByone";
  * 激活怪物
  * 栅栏事件
  */
-const {ccclass, property} = cc._decorator;
+const { ccclass, property } = cc._decorator;
 
 @ccclass
 export default class FFenceTrigger extends cc.Component {
@@ -18,7 +18,7 @@ export default class FFenceTrigger extends cc.Component {
      * 伙伴初始化区域
      */
     @property({
-        type:cc.Node,
+        type: cc.Node,
         displayName: '远程初始位置'
     })
     mInitA: cc.Node = null;
@@ -26,7 +26,7 @@ export default class FFenceTrigger extends cc.Component {
      * 伙伴初始化区域
      */
     @property({
-        type:cc.Node,
+        type: cc.Node,
         displayName: '近战初始位置'
     })
     mInitB: cc.Node = null;
@@ -34,7 +34,7 @@ export default class FFenceTrigger extends cc.Component {
      * 伙伴初始化区域
      */
     @property({
-        type:cc.Node,
+        type: cc.Node,
         displayName: '摄像机移动的目标位置'
     })
     mCameraPos: cc.Node = null;
@@ -42,7 +42,7 @@ export default class FFenceTrigger extends cc.Component {
      * 怪物出现动画
      */
     @property({
-        type:cc.Prefab,
+        type: cc.Prefab,
         displayName: '怪物出现动画'
     })
     mAppear: cc.Prefab = null;
@@ -77,12 +77,21 @@ export default class FFenceTrigger extends cc.Component {
     @property([FSprite])
     mMonster5: Array<FSprite> = [];
 
+    /**
+     * 控制的栅栏
+     */
+    @property({
+        type: cc.Node,
+        displayName: '结束后开启的栅栏'
+    })
+    mFenceTrigger2: Array<cc.Node> = [];
+
     @property(cc.Prefab)
     mMapDialog: cc.Prefab = null;
 
     @property([cc.String])
     text: Array<string> = [];
-    
+
     @property({
         displayName: '是否开始就显示boss'
     })
@@ -93,40 +102,40 @@ export default class FFenceTrigger extends cc.Component {
     })
     countDown = -1;
 
-    public ff:FF;
+    public ff: FF;
     private isOver = false;
 
     private mIndex = 0
     /**
      * 怪物分组
      */
-    private groupMonster:Array<Array<FSprite>> = []
+    private groupMonster: Array<Array<FSprite>> = []
 
-    private mMonster:Array<FSprite> = null
+    private mMonster: Array<FSprite> = null
 
-    onLoad(){
+    onLoad() {
         this.groupMonster.push(this.mMonster1)
-        if(this.mMonster2.length > 0){
+        if (this.mMonster2.length > 0) {
             this.groupMonster.push(this.mMonster2)
         }
-        if(this.mMonster3.length > 0){
+        if (this.mMonster3.length > 0) {
             this.groupMonster.push(this.mMonster3)
         }
 
-        if(this.mMonster4.length > 0){
+        if (this.mMonster4.length > 0) {
             this.groupMonster.push(this.mMonster4)
         }
-        if(this.mMonster5.length > 0){
+        if (this.mMonster5.length > 0) {
             this.groupMonster.push(this.mMonster5)
         }
     }
-    start(){
+    start() {
         for (let i = 0; i < this.groupMonster.length; i++) {
-            const element:Array<FSprite> = this.groupMonster[i];
+            const element: Array<FSprite> = this.groupMonster[i];
             for (let j = 0; j < element.length; j++) {
                 const monster = element[j];
                 monster.isActive = false
-                if(i > 0){
+                if (i > 0) {
                     monster.node.active = false
                 }
             }
@@ -134,61 +143,61 @@ export default class FFenceTrigger extends cc.Component {
         this.mMonster = this.groupMonster[0]
     }
 
-    onBeginContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, otherCollider: cc.PhysicsCollider){
-        if(this.isOver){
+    onBeginContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, otherCollider: cc.PhysicsCollider) {
+        if (this.isOver) {
             return;
         }
-        if(otherCollider.node.group == 'A'){//主角踩到机关
+        if (otherCollider.node.group == 'A') {//主角踩到机关
             let obj = otherCollider.node.getComponent(FSprite);
             this.ff = obj.ff;
-            if(obj == this.ff.mainSprite){
+            if (obj == this.ff.mainSprite) {
                 this.node.removeComponent(cc.PhysicsBoxCollider);
                 this.node.removeComponent(cc.PhysicsBoxCollider);
                 this.ff = obj.ff;
-               
-                this.ff.regRemoveCallback((f:FSprite)=>{
+
+                this.ff.regRemoveCallback((f: FSprite) => {
                     this.removeCallback(f);
                 });
                 this.isOver = true;
                 this.startFight();
 
-                FqLogin.commitEvent(this.node.name,'','')
+                FqLogin.commitEvent(this.node.name, '', '')
             }
         }
     }
     /**
      * 开始战斗
      */
-    private startFight(){
+    private startFight() {
         this.ff.pauseSprite(true);
-        this.moveCamera(()=>{
+        this.moveCamera(this.node, () => {
             this.dialog(0);
         })
     }
-    private dialog(index:number){
-        if(index >= this.text.length){
+    private dialog(index: number) {
+        if (index >= this.text.length) {
             this.startFight1();
             return;
         }
         let texts = this.text[index].split('|')
         let mid = parseInt(texts.shift());
-        if(mid == -1){//主角
+        if (mid == -1) {//主角
 
             let my = this.ff.mainSprite.node;
-            this.showDialog(my,texts,()=>{
-                index ++;
+            this.showDialog(my, texts, () => {
+                index++;
                 this.dialog(index);
             });
-        }else{
+        } else {
             let my = this.mMonster[mid].node;
-            this.showDialog(my,texts,()=>{
-                index ++;
+            this.showDialog(my, texts, () => {
+                index++;
                 this.dialog(index);
             });
         }
-        
+
     }
-    private showDialog(my:cc.Node,dialogs,fCallback:()=>void){
+    private showDialog(my: cc.Node, dialogs, fCallback: () => void) {
         this.ff.mBlockInputEvents.active = true;
         let node = cc.instantiate(this.mMapDialog);
         node.group = 'map'
@@ -197,38 +206,38 @@ export default class FFenceTrigger extends cc.Component {
         node.y = my.y + my.height;
         node.parent = this.ff.mMap.mSprites;
         let obo = node.getComponent(WOneByone);
-        
+
         obo.dialogs = dialogs;
-        obo.setCallback(()=>{
+        obo.setCallback(() => {
             node.destroy();
             this.ff.setBlockInputCallback(null);
-           
+
             fCallback();
         });
-        this.ff.setBlockInputCallback(()=>{
+        this.ff.setBlockInputCallback(() => {
             obo.jump();
         });
         obo._start();
     }
 
-    private startFight1(){
+    private startFight1() {
         this.addMark();
         // this.moveTo();
-        if(this.isBoss){
+        if (this.isBoss) {
             this.ff.flushHP(this.mMonster[0]);
         }
-        if(this.countDown != -1){
+        if (this.countDown != -1) {
             this.ff.mCountDown.startCountDown(this.countDown);
         }
         cc.tween(this).sequence(
             cc.delayTime(0.6),
-            cc.callFunc(()=>{
+            cc.callFunc(() => {
                 this.playSkill(1);
                 this.playSkill(2);
                 this.playSkill(3);
             }),
             cc.delayTime(1.5),
-            cc.callFunc(()=>{
+            cc.callFunc(() => {
                 this.ff.pauseSprite(false);
                 this.ff.mBlockInputEvents.active = false;
 
@@ -239,7 +248,7 @@ export default class FFenceTrigger extends cc.Component {
                     let nodes = element.children;
                     nodes.forEach(tmp => {
                         let spine = tmp.getComponent(sp.Skeleton);
-                        if(spine){
+                        if (spine) {
                             spine.setAnimation(0, 'close', false);
                         }
                     });
@@ -252,7 +261,7 @@ export default class FFenceTrigger extends cc.Component {
         ).start()
     }
     //添加怪物标记
-    private addMark(){
+    private addMark() {
         for (let i = 0; i < this.mMonster.length; i++) {
             const element = this.mMonster[i];
             let node = element.addActiveIcon();
@@ -260,17 +269,17 @@ export default class FFenceTrigger extends cc.Component {
         }
     }
 
-    private actionMark(node:cc.Node){
+    private actionMark(node: cc.Node) {
         node.scale = 0;
         cc.tween(node).sequence(
             cc.delayTime(1),
-            cc.scaleTo(0.2,1.2,1.2),
-            cc.scaleTo(0.2,0.9,0.9),
-            cc.scaleTo(0.2,1.1,1.1),
-            cc.scaleTo(0.2,0.9,0.9),
-            cc.scaleTo(0.2,1.1,1.1),
-            cc.scaleTo(0.2,1,1),
-            cc.blink(1,3),
+            cc.scaleTo(0.2, 1.2, 1.2),
+            cc.scaleTo(0.2, 0.9, 0.9),
+            cc.scaleTo(0.2, 1.1, 1.1),
+            cc.scaleTo(0.2, 0.9, 0.9),
+            cc.scaleTo(0.2, 1.1, 1.1),
+            cc.scaleTo(0.2, 1, 1),
+            cc.blink(1, 3),
             cc.fadeOut(1.5),
             // cc.spawn(
             //     cc.blink(2,5),
@@ -280,8 +289,8 @@ export default class FFenceTrigger extends cc.Component {
         ).start();
     }
 
-    private moveCamera(finishCallback:()=>void){
-        if(!this.mCameraPos){
+    private moveCamera(node: cc.Node, finishCallback: () => void) {
+        if (!this.mCameraPos) {
             finishCallback();
             return;
         }
@@ -290,12 +299,11 @@ export default class FFenceTrigger extends cc.Component {
 
         let pos = cc.v2();
         let winsize = cc.winSize;
-        pos.x = this.node.x + this.mCameraPos.x-winsize.width/2;
-        pos.y = this.node.y + this.mCameraPos.y-winsize.height/2;
-
+        pos.x = node.x + this.mCameraPos.x - winsize.width / 2;
+        pos.y = node.y + this.mCameraPos.y - winsize.height / 2;
         cc.tween(camera.node).sequence(
-            cc.moveTo(1,pos),
-            cc.callFunc(()=>{
+            cc.moveTo(1, pos),
+            cc.callFunc(() => {
                 finishCallback();
             })
         ).start()
@@ -304,84 +312,85 @@ export default class FFenceTrigger extends cc.Component {
      * 移动伙伴
      * @param sprite 
      */
-    private moveTo(){
+    private moveTo() {
         let ffs = this.ff.getGroupBy(GroupType.A);
         for (let i = 0; i < ffs.length; i++) {
             const element = ffs[i];
-            if(element){
+            if (element) {
                 // element.setRuning(false);
                 // element.setDir({x:0,y:0});
-                element.playAction(SpriteActionType.run,true)
+                element.playAction(SpriteActionType.run, true)
                 let attrData = element.attrData;
                 let pos = cc.v2();
-                if(attrData.post == 3){
-                    pos.x = this.node.x + this.mInitB.x + CMath.getRandom(-this.mInitB.width,this.mInitB.width);
-                    pos.y = this.node.y + this.mInitB.y+ CMath.getRandom(-this.mInitB.height,this.mInitB.height);
-                }else{
-                    pos.x = this.node.x + this.mInitA.x + CMath.getRandom(-this.mInitA.width,this.mInitA.width);
-                    pos.y = this.node.y + this.mInitA.y+ CMath.getRandom(-this.mInitA.height,this.mInitA.height);
+                if (attrData.post == 3) {
+                    pos.x = this.node.x + this.mInitB.x + CMath.getRandom(-this.mInitB.width, this.mInitB.width);
+                    pos.y = this.node.y + this.mInitB.y + CMath.getRandom(-this.mInitB.height, this.mInitB.height);
+                } else {
+                    pos.x = this.node.x + this.mInitA.x + CMath.getRandom(-this.mInitA.width, this.mInitA.width);
+                    pos.y = this.node.y + this.mInitA.y + CMath.getRandom(-this.mInitA.height, this.mInitA.height);
                 }
-    
+
                 cc.tween(element.node).sequence(
-                    cc.moveTo(0.5,pos),
-                    cc.callFunc(()=>{
-                        element.playAction(SpriteActionType.stand,true);
+                    cc.moveTo(0.5, pos),
+                    cc.callFunc(() => {
+                        element.playAction(SpriteActionType.stand, true);
                     })
                 ).start();
             }
-           
+
         }
     }
 
-    public removeCallback(f:FSprite){
+    public removeCallback(f: FSprite) {
         for (let i = 0; i < this.mMonster.length; i++) {
             const element = this.mMonster[i];
-            if(element == f){
-                this.mMonster.splice(i,1);
+            if (element == f) {
+                this.mMonster.splice(i, 1);
                 break;
             }
         }
-        if(this.mMonster.length <= 0){
-            this.mIndex ++
-            if(this.mIndex < this.groupMonster.length){
+        if (this.mMonster.length <= 0) {
+            this.mIndex++
+            if (this.mIndex < this.groupMonster.length) {
                 this.mMonster = this.groupMonster[this.mIndex]
                 this.playAppear()
-            }else{
+            } else {
                 for (let i = 0; i < this.mFenceTrigger.length; i++) {
                     const element = this.mFenceTrigger[i];
                     // element.active = false;
                     this.playCancelFence(element);
                 }
                 this.ff.regRemoveCallback(null);
-    
                 //主角减速等待伙伴
                 // let t1 = this.ff.mainSprite.SPEED_WALK;
                 // let t2 = this.ff.mainSprite.SPEED_RUN;
-    
+
                 // let mainFSprite = this.ff.mainSprite;
                 // mainFSprite.SPEED_WALK = 100;
                 // mainFSprite.SPEED_RUN = 100;
                 this.ff.mainSprite.setPause(true);
                 cc.tween(this.node).sequence(
                     cc.delayTime(0.5),
-                    cc.callFunc(()=>{
+                    cc.callFunc(() => {
                         this.ff.mainSprite.setPause(false);
                     })
                 ).start()
+
+                this.checkOpen();
             }
 
-            
+
 
         }
     }
     /**
      * 播放怪物出现
      */
-    private playAppear(){
+    private playAppear() {
         for (let i = 0; i < this.mMonster.length; i++) {
             const element = this.mMonster[i];
             element.node.active = true
-            if(this.mAppear){
+            if (this.mAppear) {
                 let node = cc.instantiate(this.mAppear)
                 node.parent = element.node
                 node.group = element.node.group
@@ -391,18 +400,18 @@ export default class FFenceTrigger extends cc.Component {
                     element.isActive = true
                 });
                 spine.setAnimation(0, 'animation', false);
-            }else{
+            } else {
                 element.isActive = true
             }
-            
+
         }
 
     }
     /**
      * 播放消失动画
      */
-    private playCancelFence(node:cc.Node){
-        if(this.countDown != -1){
+    private playCancelFence(node: cc.Node) {
+        if (this.countDown != -1) {
             this.ff.mCountDown.stopCountDown();
         }
 
@@ -410,11 +419,11 @@ export default class FFenceTrigger extends cc.Component {
         let count = 0;
         nodes.forEach(element => {
             let spine = element.getComponent(sp.Skeleton);
-            if(spine){
-                spine.setCompleteListener(()=>{
+            if (spine) {
+                spine.setCompleteListener(() => {
                     element.active = false;
-                    count ++;
-                    if(count >= nodes.length){
+                    count++;
+                    if (count >= nodes.length) {
                         node.active = false;
                     }
                 });
@@ -427,28 +436,28 @@ export default class FFenceTrigger extends cc.Component {
      * @param sprite 
      * @param path 
      */
-    private playSkill(id){
-        cc.resources.load('prefab/role/skills/skills_'+id, cc.Prefab, (err, prefab:cc.Prefab) =>{
-            if(err){
+    private playSkill(id) {
+        cc.resources.load('prefab/role/skills/skills_' + id, cc.Prefab, (err, prefab: cc.Prefab) => {
+            if (err) {
                 cc.error(err);
-            }else{
+            } else {
                 let fss = this.ff.getGroupBy(GroupType.A);
                 for (let i = 0; i < fss.length; i++) {
                     const element = fss[i];
-                    if(element){
+                    if (element) {
                         let node = cc.instantiate(prefab);
                         node.parent = element.node;
                         node.zIndex = 9999;
                         let spine = node.getComponent(sp.Skeleton);
-                        if(id != 3){
-                            spine.setCompleteListener(()=>{
-                                    node.destroy();
+                        if (id != 3) {
+                            spine.setCompleteListener(() => {
+                                node.destroy();
                             });
-                        }else{
+                        } else {
                             element.hasDun = true;
                             cc.tween(node).sequence(
                                 cc.delayTime(10),
-                                cc.callFunc(()=>{
+                                cc.callFunc(() => {
                                     element.hasDun = false
                                 }),
                                 cc.destroySelf()
@@ -457,8 +466,42 @@ export default class FFenceTrigger extends cc.Component {
                     }
                 }
             }
-        } );
+        });
     }
 
 
+    private checkOpen() {
+        //检查其它开关是否打开
+        if (!this.mFenceTrigger2.length) return
+        this.ff.pauseSprite(true);
+        this.moveCamera(this.mFenceTrigger2[0], () => {
+            cc.tween(this.node).sequence(
+                cc.callFunc(() => {
+                    for (let i = 0; i < this.mFenceTrigger2.length; i++) {
+                        const element = this.mFenceTrigger2[i];
+                        this.showFence(element, "open");
+                    }
+                }),
+                cc.delayTime(1),
+                cc.callFunc(() => {
+                    for (let i = 0; i < this.mFenceTrigger2.length; i++) {
+                        const element = this.mFenceTrigger2[i];
+                        element.getComponent(cc.PhysicsBoxCollider).enabled = false;
+                    }
+                    this.ff.pauseSprite(false);
+                })
+            ).start();
+        })
+    }
+    private showFence(element, action) {
+        let nodes = element.children;
+        for (let i = 0; i < nodes.length; i++) {
+            const element = nodes[i];
+            let spine: sp.Skeleton = element.getComponent(sp.Skeleton);
+            if (spine) {
+                spine.setAnimation(0, action, false);
+            }
+        }
+    }
+
 }

+ 1 - 0
assets/Script/game/fight/evnet/altar/FAltarGear.ts

@@ -53,6 +53,7 @@ export default class FAltarGear extends cc.Component {
         let ff = this.map.ff;
         ff.pauseSprite(true);
         this.moveCamera(() => {
+            this.node.zIndex = -9999;
             let nodes = this.node.children;
             nodes.forEach(element => {
                 let spine = element.children[0].getComponent(sp.Skeleton);

BIN
assets/resources/element_spine/ZA0105.png


+ 36 - 0
assets/resources/element_spine/ZA0105.png.meta

@@ -0,0 +1,36 @@
+{
+  "ver": "2.3.5",
+  "uuid": "0ff0f492-7c85-49b5-abcf-28313d406e4e",
+  "type": "sprite",
+  "wrapMode": "clamp",
+  "filterMode": "bilinear",
+  "premultiplyAlpha": false,
+  "genMipmaps": false,
+  "packable": true,
+  "width": 32,
+  "height": 64,
+  "platformSettings": {},
+  "subMetas": {
+    "ZA0105": {
+      "ver": "1.0.4",
+      "uuid": "990a98b9-898e-4977-b44f-4d68be19fb65",
+      "rawTextureUuid": "0ff0f492-7c85-49b5-abcf-28313d406e4e",
+      "trimType": "auto",
+      "trimThreshold": 1,
+      "rotated": false,
+      "offsetX": 0,
+      "offsetY": 0,
+      "trimX": 0,
+      "trimY": 0,
+      "width": 32,
+      "height": 64,
+      "rawWidth": 32,
+      "rawHeight": 64,
+      "borderTop": 0,
+      "borderBottom": 0,
+      "borderLeft": 0,
+      "borderRight": 0,
+      "subMetas": {}
+    }
+  }
+}

+ 12 - 0
assets/resources/element_spine/ZA105.meta

@@ -0,0 +1,12 @@
+{
+  "ver": "1.1.2",
+  "uuid": "10dd2548-21f4-4369-b382-c7371b025f7f",
+  "isBundle": false,
+  "bundleName": "",
+  "priority": 1,
+  "compressionType": {},
+  "optimizeHotUpdate": {},
+  "inlineSpriteFrames": {},
+  "isRemoteBundle": {},
+  "subMetas": {}
+}

+ 176 - 0
assets/resources/prefab/element/JG0108.prefab

@@ -0,0 +1,176 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "dici",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 4
+      }
+    ],
+    "_prefab": {
+      "__id__": 5
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 32,
+      "height": 64
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.4
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        2.1,
+        2.1,
+        2
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 1,
+    "groupIndex": 1,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": {
+      "__uuid__": "990a98b9-898e-4977-b44f-4d68be19fb65"
+    },
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.RigidBody",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_type": 0,
+    "_allowSleep": true,
+    "_gravityScale": 0,
+    "_linearDamping": 0,
+    "_angularDamping": 0,
+    "_linearVelocity": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_angularVelocity": 0,
+    "_fixedRotation": false,
+    "enabledContactListener": true,
+    "bullet": false,
+    "awakeOnLoad": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PhysicsBoxCollider",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "tag": 1,
+    "_density": 8,
+    "_sensor": true,
+    "_friction": 0,
+    "_restitution": 0,
+    "body": null,
+    "_offset": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 6.6
+    },
+    "_size": {
+      "__type__": "cc.Size",
+      "width": 32,
+      "height": 64
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb"
+    },
+    "fileId": "",
+    "sync": false
+  }
+]

+ 8 - 0
assets/resources/prefab/element/JG0108.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.9",
+  "uuid": "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 1 - 1
assets/resources/prefab/element/JG0109.prefab.meta

@@ -1,6 +1,6 @@
 {
   "ver": "1.2.9",
-  "uuid": "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
+  "uuid": "45502707-7b13-4ee2-934a-1eaf3254b1c1",
   "optimizationPolicy": "AUTO",
   "asyncLoadAssets": false,
   "readonly": false,

+ 8 - 8
assets/resources/prefab/element/JG0113.prefab

@@ -13,7 +13,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "JG0124",
+    "_name": "JG0113",
     "_objFlags": 0,
     "_parent": null,
     "_children": [
@@ -46,8 +46,8 @@
     },
     "_contentSize": {
       "__type__": "cc.Size",
-      "width": 0,
-      "height": 0
+      "width": 32,
+      "height": 32
     },
     "_anchorPoint": {
       "__type__": "cc.Vec2",
@@ -58,8 +58,8 @@
       "__type__": "TypedArray",
       "ctor": "Float64Array",
       "array": [
-        0,
-        0,
+        1694.97,
+        737.685,
         0,
         0,
         0,
@@ -222,7 +222,7 @@
     "_fixedRotation": false,
     "enabledContactListener": true,
     "bullet": false,
-    "awakeOnLoad": true,
+    "awakeOnLoad": false,
     "_id": ""
   },
   {
@@ -235,7 +235,7 @@
     "_enabled": true,
     "tag": 0,
     "_density": 1,
-    "_sensor": false,
+    "_sensor": true,
     "_friction": 0.2,
     "_restitution": 0,
     "body": null,
@@ -259,7 +259,7 @@
       "__id__": 1
     },
     "_enabled": true,
-    "goodId": 2001,
+    "goodId": 2002,
     "_id": ""
   },
   {

+ 2 - 2
assets/resources/prefab/element/JG0117.prefab

@@ -13,7 +13,7 @@
   },
   {
     "__type__": "cc.Node",
-    "_name": "JG0102",
+    "_name": "JG0117",
     "_objFlags": 0,
     "_parent": null,
     "_children": [],
@@ -199,7 +199,7 @@
       "__id__": 1
     },
     "asset": {
-      "__uuid__": "e18cbf3b-5ab8-4c87-871a-a2c51ce55790"
+      "__uuid__": "2777c629-901f-467d-b9c5-838129207240"
     },
     "fileId": "",
     "sync": false

+ 199 - 0
assets/resources/prefab/element/ZA0103.prefab

@@ -0,0 +1,199 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "tree",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 3
+      },
+      {
+        "__id__": 4
+      },
+      {
+        "__id__": 5
+      }
+    ],
+    "_prefab": {
+      "__id__": 6
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 34,
+      "height": 44.69
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        0,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1,
+        2,
+        2,
+        2
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 1,
+    "groupIndex": 1,
+    "_id": ""
+  },
+  {
+    "__type__": "sp.Skeleton",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "7afd064b-113f-480e-b793-8817d19f63c3"
+      }
+    ],
+    "paused": false,
+    "defaultSkin": "default",
+    "defaultAnimation": "",
+    "_preCacheMode": 0,
+    "_cacheMode": 0,
+    "loop": true,
+    "premultipliedAlpha": true,
+    "timeScale": 1,
+    "_accTime": 0,
+    "_playCount": 0,
+    "_frameCache": null,
+    "_curFrame": null,
+    "_skeletonCache": null,
+    "_animationName": "",
+    "_animationQueue": [],
+    "_headAniInfo": null,
+    "_playTimes": 0,
+    "_isAniComplete": true,
+    "_N$skeletonData": {
+      "__uuid__": "effa6889-0b4c-4f72-9a43-2fc0a1e776c8"
+    },
+    "_N$_defaultCacheMode": 0,
+    "_N$debugSlots": false,
+    "_N$debugBones": false,
+    "_N$debugMesh": false,
+    "_N$useTint": false,
+    "_N$enableBatch": false,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.RigidBody",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_type": 0,
+    "_allowSleep": true,
+    "_gravityScale": 1,
+    "_linearDamping": 0,
+    "_angularDamping": 0,
+    "_linearVelocity": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_angularVelocity": 0,
+    "_fixedRotation": false,
+    "enabledContactListener": true,
+    "bullet": false,
+    "awakeOnLoad": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PhysicsBoxCollider",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "tag": 104,
+    "_density": 1,
+    "_sensor": true,
+    "_friction": 0.2,
+    "_restitution": 0,
+    "body": null,
+    "_offset": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 12
+    },
+    "_size": {
+      "__type__": "cc.Size",
+      "width": 34,
+      "height": 44
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "60ff7xlztpPIaYzRCAOl6BJ",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__uuid__": "9ae25294-b58f-4060-a268-785d5e039fd2"
+    },
+    "fileId": "",
+    "sync": false
+  }
+]

+ 8 - 0
assets/resources/prefab/element/ZA0103.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.9",
+  "uuid": "9ae25294-b58f-4060-a268-785d5e039fd2",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

Разница между файлами не показана из-за своего большого размера
+ 16029 - 4615
assets/resources/prefab/map/map1.prefab


+ 448 - 0
assets/resources/prefab/map/monster2.prefab

@@ -0,0 +1,448 @@
+[
+  {
+    "__type__": "cc.Prefab",
+    "_name": "",
+    "_objFlags": 0,
+    "_native": "",
+    "data": {
+      "__id__": 1
+    },
+    "optimizationPolicy": 0,
+    "asyncLoadAssets": false,
+    "readonly": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "monster2",
+    "_objFlags": 0,
+    "_parent": null,
+    "_children": [
+      {
+        "__id__": 2
+      },
+      {
+        "__id__": 4
+      },
+      {
+        "__id__": 6
+      }
+    ],
+    "_active": true,
+    "_components": [
+      {
+        "__id__": 8
+      },
+      {
+        "__id__": 9
+      },
+      {
+        "__id__": 10
+      },
+      {
+        "__id__": 11
+      }
+    ],
+    "_prefab": {
+      "__id__": 12
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 800,
+      "height": 600
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        5522.731,
+        3009.612,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 6,
+    "groupIndex": 6,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "initA",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 3
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 10,
+      "height": 50
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -69.224,
+        14.763,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "21Af6wfsNAZIV4ixZrcfKO",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "initB",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 5
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 20,
+      "height": 50
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -165.556,
+        3.346,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "e8nOUfZptHIpeDZjGsCkdi",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Node",
+    "_name": "camera",
+    "_objFlags": 0,
+    "_parent": {
+      "__id__": 1
+    },
+    "_children": [],
+    "_active": true,
+    "_components": [],
+    "_prefab": {
+      "__id__": 7
+    },
+    "_opacity": 255,
+    "_color": {
+      "__type__": "cc.Color",
+      "r": 255,
+      "g": 255,
+      "b": 255,
+      "a": 255
+    },
+    "_contentSize": {
+      "__type__": "cc.Size",
+      "width": 0,
+      "height": 0
+    },
+    "_anchorPoint": {
+      "__type__": "cc.Vec2",
+      "x": 0.5,
+      "y": 0.5
+    },
+    "_trs": {
+      "__type__": "TypedArray",
+      "ctor": "Float64Array",
+      "array": [
+        -89.341,
+        32.222,
+        0,
+        0,
+        0,
+        0,
+        1,
+        1,
+        1,
+        1
+      ]
+    },
+    "_eulerAngles": {
+      "__type__": "cc.Vec3",
+      "x": 0,
+      "y": 0,
+      "z": 0
+    },
+    "_skewX": 0,
+    "_skewY": 0,
+    "_is3DNode": false,
+    "_groupIndex": 0,
+    "groupIndex": 0,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "4aB5ykZkREnpslVj1302ss",
+    "sync": false
+  },
+  {
+    "__type__": "cc.Sprite",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_materials": [
+      {
+        "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
+      }
+    ],
+    "_srcBlendFactor": 770,
+    "_dstBlendFactor": 771,
+    "_spriteFrame": null,
+    "_type": 0,
+    "_sizeMode": 1,
+    "_fillType": 0,
+    "_fillCenter": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_fillStart": 0,
+    "_fillRange": 0,
+    "_isTrimmedMode": true,
+    "_atlas": null,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.RigidBody",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "_type": 0,
+    "_allowSleep": true,
+    "_gravityScale": 1,
+    "_linearDamping": 0,
+    "_angularDamping": 0,
+    "_linearVelocity": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_angularVelocity": 0,
+    "_fixedRotation": true,
+    "enabledContactListener": true,
+    "bullet": false,
+    "awakeOnLoad": true,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PhysicsBoxCollider",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "tag": 0,
+    "_density": 1,
+    "_sensor": true,
+    "_friction": 0.2,
+    "_restitution": 0,
+    "body": null,
+    "_offset": {
+      "__type__": "cc.Vec2",
+      "x": 0,
+      "y": 0
+    },
+    "_size": {
+      "__type__": "cc.Size",
+      "width": 800,
+      "height": 600
+    },
+    "_id": ""
+  },
+  {
+    "__type__": "aa67cinkn1NAahhotVQTywj",
+    "_name": "",
+    "_objFlags": 0,
+    "node": {
+      "__id__": 1
+    },
+    "_enabled": true,
+    "mInitA": {
+      "__id__": 4
+    },
+    "mInitB": {
+      "__id__": 2
+    },
+    "mCameraPos": {
+      "__id__": 6
+    },
+    "mAppear": {
+      "__uuid__": "015ac756-d9c4-4e86-9b25-0df561edf635"
+    },
+    "mFenceTrigger": [
+      null,
+      null
+    ],
+    "mMonster1": [
+      null,
+      null
+    ],
+    "mMonster2": [
+      null,
+      null,
+      null
+    ],
+    "mMonster3": [],
+    "mMonster4": [],
+    "mMonster5": [],
+    "mMapDialog": {
+      "__uuid__": "004b58bd-79fd-43fd-91d3-fda0f9f4f1c5"
+    },
+    "text": [
+      "1|看什么看,没见过这么飘逸的发型么?我是树界第一大帅哥",
+      "-1|你当我是眼瞎么?",
+      "1|小丫头不要给脸不要脸"
+    ],
+    "isBoss": false,
+    "countDown": -1,
+    "_id": ""
+  },
+  {
+    "__type__": "cc.PrefabInfo",
+    "root": {
+      "__id__": 1
+    },
+    "asset": {
+      "__id__": 0
+    },
+    "fileId": "",
+    "sync": false
+  }
+]

+ 8 - 0
assets/resources/prefab/map/monster2.prefab.meta

@@ -0,0 +1,8 @@
+{
+  "ver": "1.2.9",
+  "uuid": "d2d2cbe3-4b99-414c-869c-f9a78a80e252",
+  "optimizationPolicy": "AUTO",
+  "asyncLoadAssets": false,
+  "readonly": false,
+  "subMetas": {}
+}

+ 3 - 3
assets/resources/prefab/role/1002.prefab

@@ -3239,10 +3239,10 @@
     "body": null,
     "_offset": {
       "__type__": "cc.Vec2",
-      "x": 0,
-      "y": 40
+      "x": 1,
+      "y": 5
     },
-    "_radius": 30,
+    "_radius": 25,
     "_id": ""
   },
   {

+ 17 - 13
local/local.json

@@ -3,9 +3,7 @@
   "recent-items": [
     "c9487f27-70f0-4012-bf79-ce48f9814dcb",
     "9fb099ea-142d-418f-a1e8-f5a46e4f27ee",
-    "54e0cd76-2c63-4e23-b81c-97efe2699791",
     "b20fa46e-e493-40ba-a335-7379ec86a2cb",
-    "51a7178b-1133-44d1-92b5-5f5e1e2348a4",
     "a972bb11-bb49-4d02-898f-7c2e78f109d1",
     "ed2eb25b-c86d-45e1-af89-df8acbd7b3f0",
     "2576e95c-82ed-42b3-8927-2e79aa6486b0",
@@ -16,6 +14,7 @@
     "aa4d574e-420c-47ae-bfa1-768309e25aa0",
     "3d970ea4-c1a7-4b5e-a794-be2a897474f0",
     "1fbc18b8-3bde-4f5f-8f1d-e7ce637b6616",
+    "00e7d7b2-4a8c-47e2-be29-2a79dee2c720",
     "2d2f792f-a40c-49bb-a189-ed176a246e49",
     "ff982981-097a-4e0e-8734-bfc340c5f129",
     "45bf96c6-d384-4b20-acce-9ce392c137ac",
@@ -32,26 +31,31 @@
     "d1a2ef47-969e-4cde-a796-a3cd475d8bed",
     "1051392c-148f-41a1-9267-9ef5f129a6e9",
     "41ffe928-29fe-4bd7-933b-6deda3500016",
-    "d109550d-0d11-4e32-90e1-bf0c2e80f637",
-    "2777c629-901f-467d-b9c5-838129207240",
-    "949937c7-bc7c-4a3e-9ac5-10b8c12ff78c",
-    "4fa20b44-a925-4cf5-b13a-14c21e455b02",
-    "39a60824-c678-4b33-a8e7-c5c2f8f7bb9e",
     "7ac1727a-906d-447e-84b1-ca14a649311c",
+    "bacf0829-5e61-4fa9-b3bd-cb3472b1cb42",
+    "7657f40d-bece-48f6-bcf3-9df3840fb551",
+    "1dd1b738-6fcc-472c-aef0-635d214a6118",
+    "165d9521-f2fa-40d9-bbe9-1d4f4c5d4775",
+    "54e0cd76-2c63-4e23-b81c-97efe2699791",
+    "51a7178b-1133-44d1-92b5-5f5e1e2348a4",
     "81823765-7aef-47ac-b793-287673d47aa3",
     "c1fa2217-e454-46ca-ad7b-31c2afa8adc4",
     "1cc87fa7-097b-4f10-aecb-49dcb1713bac",
-    "165d9521-f2fa-40d9-bbe9-1d4f4c5d4775",
     "4445850f-898f-47e8-a574-c2c63a1e36a7",
-    "35b14081-9e0f-45a5-a804-a787c942ff47",
-    "69b3a8ee-9d9c-4120-8fa0-0e9aba59b472",
     "af111354-8962-48b7-93db-eee87d40b1fe",
     "147ce141-b17c-4434-87f7-2b12cb885bb7",
-    "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
     "fb1460ea-e74b-47b2-8467-efbbba57a4ca",
     "686bd299-de37-43fe-b735-f5a6dd1f9e13",
-    "00e7d7b2-4a8c-47e2-be29-2a79dee2c720",
-    "1dd1b738-6fcc-472c-aef0-635d214a6118",
+    "39a60824-c678-4b33-a8e7-c5c2f8f7bb9e",
+    "949937c7-bc7c-4a3e-9ac5-10b8c12ff78c",
+    "2777c629-901f-467d-b9c5-838129207240",
+    "d109550d-0d11-4e32-90e1-bf0c2e80f637",
+    "9ae25294-b58f-4060-a268-785d5e039fd2",
+    "35b14081-9e0f-45a5-a804-a787c942ff47",
+    "69b3a8ee-9d9c-4120-8fa0-0e9aba59b472",
+    "13452eaf-a0d0-4b0a-82d2-f5fc7cf793bb",
+    "45502707-7b13-4ee2-934a-1eaf3254b1c1",
+    "4fa20b44-a925-4cf5-b13a-14c21e455b02",
     "891e36f9-7931-427e-b549-e16b827a1fb2"
   ]
 }

+ 492 - 492
local/node-tree-state.json

@@ -1,21 +1,292 @@
 {
   "nodeFoldStates": [
-    "7cwJf5L1ZIuqJbM5ugG1jZ",
-    "e7j3wGMXBFsLPgf0Kiil4D",
-    "cdmoVWYNhIdbDZMblkjwyW",
-    "00okouz0BIaa+RT9/AL1vi",
-    "dcCcr6lj1DQ7ya993RvslG",
-    "87GnW2mPZFNJjbqXqw+pmK",
-    "0eYqG/belP3b30Y/ctEvAb",
-    "2dSNje1ORKPrVM09+oitks",
-    "a195Buqg9MVq30znhHTn9L",
-    "1cKBa5DAJEfralgJFouPCk",
-    "05swC8iW1Iypu6See8QbrN",
-    "88NtLdluRLY5Xiz/ZiYvAZ",
-    "0b6ekE3ixIO6Y+uCeoCoor",
-    "c93xk6Nw9Lb6WprD/sKAga",
+    "74vOxDNbRI+q0GibXjZJJ2",
+    "36iGgJSOZBb4eHJUpkkAVQ",
+    "77F12DZMxKQ7+a5jxNx9zF",
+    "40rLUXK39FZ5QD/XFdldig",
+    "98qoTYtVBJMI3ZQEUFsoEM",
+    "bclDk7HsdPTIT10NKl0u1O",
+    "637pDuuUFEKaRmqJeDQHW1",
+    "85/rNas8RD0KxQGLo+bQsD",
+    "ea6gxSxXxBu7Rw9HB6EAF/",
+    "c036MaCeZMUKVOOjF+5KrX",
+    "2c0M/ThbJEuJcXFUysUiz+",
+    "a00OpcmLxL+4bRnx6n5opq",
+    "e0+00ceyRJqoLdqteo9IrU",
+    "58O+0miOJCxYBP7gc3ehRK",
+    "b8YUvf2jxB0rxYf921CUmK",
+    "30im7I7PVBY5wlyJYhfKdd",
+    "baeJFtmexLVoh3gYfQe0sC",
+    "48oXsiQvdBHIUS/spckQIP",
+    "2f1RDL4tROya8LquJRTEW6",
+    "6fa3RUYQhEOKZ8rP0Toezu",
+    "3b83vHVD9KhodvA0VdzDqn",
+    "d6bUw4qp5GwoBk0l0IMcWh",
+    "61WPycHGlCHpGnLmTWFqaZ",
+    "97bbsmLxVPSrQsA4cdZjAu",
+    "86DASwWpNDDZybSNpRJGct",
+    "0eC9EMJalCfJscMNq8omm7",
+    "cb9lo9xVxIhKcKP+gaLgvS",
+    "3ajaYCN/tBNIx1B+EGi+58",
+    "69ntJoctJNFZ/m8zaq2rhg",
+    "5aV/BExVVN7rQ9mwh1NFYp",
+    "429MEg5nBMZrFTU05V50yO",
+    "de22Hy4wpFdJ/6SAODDYk1",
+    "90l2iZZTlA95+azF+KLcFD",
+    "19WCsWZsJOw6COVYgM+tsM",
+    "b7ot2TOIFGZ5ZaSQGktUMh",
+    "75v140/nVG9453CU8WB82D",
+    "1eD6Of6JZE26eNuSMM3D4S",
+    "6cVtK9LE1OC50uzN4BZv4z",
+    "a4vNe0/K1P5I5bNPSPJ8u7",
+    "3d8zyQHAVIu5VVyMZdp6tJ",
+    "abCvLSH8hLFJWaKxv/rTHM",
+    "bftwFDim9EcooDqm07xq9t",
+    "26gtybsIhHD64hSskeOLxO",
+    "2fHHDqhAZB566zk1u/xV04",
+    "4f/OwmLjFIxLEmMonFqUz1",
+    "bbBDb3duNJlZG+hFdsiEeP",
+    "e9kJfpmvBFKrSc70hGqdb1",
+    "1dveWhuQdGSbjZCJ3WE0/v",
+    "2e92ltWHhCMJSQlojO0bd6",
+    "69KhfnXlhKP6JfolW42eqb",
+    "5bgy7MvWpGl78UT7o7iS2n",
+    "81SfEu85VBI4ZBQv+xbvrm",
+    "db/OHPKeZOpZ6QpLL9kW5t",
+    "96ZWYLJyVBxpd8RVUIBgk3",
+    "a3rM0YKzhH7odp+23oLrSz",
+    "e65/gcKYdA9q9Q5aZDLgaJ",
+    "41S1fDpSRJLo7PnPj4lcvc",
+    "83RsP1B4hA86zOF/Hmp8bW",
+    "b0AeScx+dN85K79xOuxJVU",
+    "1aeiqLPHhMiK9CxU9657Eo",
+    "7aeRMpXBhBFqTAgRjKD1DP",
+    "c1MSi0IZlLS79J+jMz9/A+",
+    "a9DPr6QNNMT6mhD0A0l08s",
+    "80eEg2sJdMXre9rP3A4124",
+    "78cD3a6W5MSKmiEhrL11A1",
+    "dcJ8khwMVHF5tW56gGFw5a",
+    "f8ez5+mFpGj46K76QIIqy3",
+    "9eOmggD8pLcY+A58hclIW4",
+    "b1cP7NWHlIK5jENYu69RGt",
+    "15asrUdfZNN6nWfXCUJkC/",
+    "4cqh1O8QdGXpG0pi2v4cHX",
+    "b7ejciFAlG1Kt2YvNFV/Fc",
+    "d7zjUuyWBGpr3lmyVMHMd+",
+    "c3GJqXjLJP4b+ELLg/KeNL",
+    "82haYuRuFAS4T5bvcvgF24",
+    "75uNFBHiBFpoX8K8KDq/H/",
+    "dfAgJEE2RLdrYmQ/sWvKjN",
+    "98Vj0bC3lPeIpcSv29zXsv",
+    "cbWgQ4s1lNyYf/Db+GG5Q7",
+    "180UPQkylON7dMCLIdgqsb",
+    "0dlCQumJBLyar/9PhfGcbo",
+    "afPAiKrvFKhLTNAOxgljtQ",
+    "a3b5ktrSBEC6xwsdYpwDYm",
+    "1cWXT8F/VD4oV3XzWgLvHU",
+    "ebuS65S3JM1ap17hUAALfu",
+    "85EBRULp1BFYvczQ4pHmgv",
+    "27qt66ZKJGy5NWWjJxiZjG",
+    "fcxSSve/FDzJra44OeDwsj",
+    "c3FC8c1mtF8bjPp89t+nKv",
+    "cev0ahocdD3pESmDGxs6Ct",
+    "d1u15OablKQ4q6K6jDli2w",
+    "b1/mM3b0BCW4bjEcKcP1Mp",
+    "96TevSg/hPv7VgAUu7tgHi",
+    "04RdN11hlJnbv88W+dcEGE",
+    "d2hZxBMopOZJTfHNhGmjL0",
+    "6foMnqbn1POLPBDVLXHotC",
+    "a9Xlz4dl9AUp8DZFmw0ewc",
+    "05SoIfeHFMfoB6nlFeQVLe",
+    "833ddoHX9AspfQ5S9TD7+R",
+    "4crbTw+qdDkLKdN72s77gq",
+    "30rseFLnFKO75pIxmHOrec",
+    "2eUyPej5NDC5OGwfxQFayA",
+    "25Vguj4n9Dobw0KIoRhTNm",
+    "90Y1B+6JtG6qy2yL6V2KYo",
+    "5dCRNdUxJNCZChXt2jIJbE",
+    "3ciQUPqyxBsLh45YkyzJnF",
+    "09Z1AqJftFuZBizQRVgfdZ",
+    "f5sBiZWAtDBLAmW4aVDWhE",
+    "5bcTqfgfRPe5LyxB7YM9Q2",
+    "76Wi8fG0VFI5DmiCuNS8UZ",
+    "44ivUXcfdBv49oATbYpfGK",
+    "3aYeyXEk9LBZW1FmtEDw0Y",
+    "da5jL1kblDHK6A22euDFsE",
+    "56ywX6jpVEw5QMB/Y30plP",
+    "07woVkz6hElKwBLmzbe4Od",
+    "04Xdvdyk1PZrqQDCu/YRQK",
+    "d2bk/cnTdLAZcDccpNjJdQ",
+    "95uLFLcGFOJq2ZVCIt3YiA",
+    "950mTDOhJFirMz0bBDJ2w2",
+    "7f6QJ5dspJF5WYpPGuzQHW",
+    "c5kQhz1yhEc5m2BDWKmR25",
+    "1dw9nA2IhNNopvg+oAf975",
+    "0dw028oSVEk78TquJuT7Dg",
+    "73P8j9fHNFuZRg9/L1aaYD",
+    "69BGkhDhZMyJdnWpjPuIeH",
+    "d99/PkMLxHdo7/6DPI3AMx",
+    "84XJJbf1JBg5r+R/k0us5S",
+    "e5K/8xhMdJ5p3X2ZsGJDpE",
+    "66VDP9Xx9FoYOVeNfVxJFh",
+    "baKAq5vOBJQZp9lxUsXqHk",
+    "59SmEfiThFM6RjAmM5uk5Y",
+    "ffxlkbD8hLu6ERlflrITeg",
+    "60NHLQRJhPNbALrdZYddhe",
+    "2bRS7wjodJMp83C6qiAHxr",
+    "6740XFA7VIW5cIg2ezndyZ",
+    "c9Cyr/BoxGzoLkg6W8XzSd",
+    "04eOgT1O1AQJN1xCrL9MqU",
+    "f1rFhXOldDn7O40CA1NhyA",
+    "06J6J4Y3JAoJ35HrLT+lkf",
+    "14hC0dfQRBbJFtTARb1Kez",
+    "dcurDxkxlNno7pB8vaZlPn",
+    "8dXvBc2TFNwrpcOJgsz/al",
+    "6cNNGtDQFAzKQbvjNHzqAZ",
+    "aeNAee17pHHJdXTtTlsf5b",
+    "edGS0oop9Enqwj7uawWxpn",
+    "f0Tk7RFVpPXoVxoPnMojAi",
+    "5fHCdvpF9N0JSDUSsRFMsI",
+    "f5WdVzMbhPx7z5QQBxwTIv",
+    "7d/env8NdKloX5wIvg/9Rg",
+    "4fsApuPmpDXpGFg5QVnO11",
+    "d7mIBrlOJGi7rrQikNbi+n",
+    "48nGHj4sxGtqCukcv8Trsl",
+    "2f2gQCyR1PzIbrIW9KZI1B",
+    "84t8lj5n1PG7E4tn34MprT",
+    "b03sk5oPRBLKShD3N+Fsex",
+    "62XUFy/vtMSIyzptGggkYx",
+    "a6Vq2qXM9JEbWUfSnbM8+c",
+    "45CjjWr4FOJ4i89D7Zsoyc",
+    "69fhNOnO1NP7NuesIRHRq9",
+    "abYjezrAxMV6PcgE9rNw+H",
+    "fcj5Cz4+ZF8pKD/6DhIvAE",
+    "6dgnSzf4FAL7bgQkKmZmJF",
+    "f96IlXGkRMopKBGj83PP5S",
+    "c0CMEoNxJNLYXLJhXk5/pq",
+    "9aXi2Bq0hE2ZYMFwtdfFNE",
+    "79w1Xb9ipIbqaZBJvVDgnx",
+    "d609qV1TdCbqau1857jvTP",
+    "6c5jJNwKhMfLdFakNpmOb6",
+    "a4wWM3p9xGKaDe6fjmZRsm",
+    "0dMBDF6pxIQYjW28eVSgap",
+    "cd0MQYwo1LhbcoRk+q34C0",
+    "00VPuFW7JLO7eq/Sc2h4SY",
+    "f4AP14MGlEf57ByrL9RHBj",
+    "868vp3eRdIAZMZD/1rXzjN",
+    "e7Ai1hjt1MD5pI2+yaQXFb",
+    "38ZpQwWf9LvqGevBQMQKE/",
+    "2cSCiz5zBIlJF5gdwk9Aj9",
+    "68dBIlKiZE96wi3AzGZxcu",
+    "ad3lVvOhZO34dnzufjd8uB",
+    "efBjBphjFPhaXK6VLkQkWy",
+    "a5HLP1pYtLdIALgHrqDmoA",
+    "58vHe4yUBLiq50Hc84NxxU",
+    "21Pc2hZC5BNYZ1IxZXow3R",
+    "52bjbbUVFFfaoyOkreVceq",
+    "7bEiSZ82pPqL5GqsrGiwEH",
+    "97yBOMVEZNToBT7YynVEOZ",
+    "95fj+gkcRF3JbKEPAWNBos",
+    "2d0z+Xt+xASL5+YDSDIN17",
+    "e8f9VNAhpOGIsv7MA1l2li",
+    "2aQTab4+9NMYOj0O/+8qvX",
+    "ceKtzdAtNIUINphIbP1yFg",
+    "e5KiBzWUpI2JOCfHbLyAMt",
+    "41mZaZRJNAsKOHArWHMkck",
+    "4dkrqqg3ROMoVjZu/PLOW+",
+    "b7b/XbhzNLPImQISUR+9Ng",
+    "2ddDY9uHtPLIViJC3FhvqX",
+    "14quTjueVKcqGqgh5Fnf4d",
+    "a6kBqGaZ5GfJuv9uqR+Soz",
+    "d4UN+YBX5HtaQEW0YRzS+F",
+    "d0ZmjU3BZB2KGKoHbaN8uQ",
+    "ffFNZq41lDOZhooE9ku2dW",
+    "01CQsfIGdL5a39M5+DaHkd",
+    "adt5x2DudOo6Lphe8wt3v3",
+    "c2XCIPqr5MQr9GJVvDcA9H",
+    "3eQwGisvBJP5/9TJl0p/Lo",
+    "94iOxBDQFIHoFJ7wQ8vqJ+",
+    "e4t58WUG9BXLFbi/DlgiP2",
+    "fckCte2NNHoaZY937AE3mo",
+    "04d3JCOIBBNqS3i7VjClvC",
+    "bfYbyDuHJHhZTUKOBTrLMh",
+    "c6Jjpa/nFPMIQjgh+54Y/i",
+    "a4ML7ySnJIHb4Xg9fKi9D6",
+    "03xBYJmnpGzLPb+JDRswzh",
+    "45l9XSPT5DNrSL/tsSaoXy",
+    "63IU1n9v9LBaqGTwQxHs0k",
+    "66uq5iu95Du52oHFNLpbUD",
+    "ees9b2LP5Ncoh6OZMtRbfk",
+    "ccSHaYqhdBlZJETKspE0xh",
+    "9eAbAHRi5GGLDodvNwyJnr",
+    "f60vGfRC5EcLAUYzVgh7l7",
+    "77eBidPqBNXZ7Wv6gLBj9w",
+    "f5WjABT7pISqRWuUbZx7Wn",
+    "43qfn6dDJMWLMrAE2IM8WK",
+    "1b+Q3Zu11ACoymEQA3v9im",
+    "efzN6TmdJMh5wOCCPxR9gT",
+    "5a04IMd3lEjan403kociCL",
+    "b4275Yy9lG/qdZ+q4h1bPq",
+    "38d2hmmH5Bl6oicVIZ9avZ",
+    "efB3UFBl5B0rmlhFPbFm3Y",
+    "2dLRqPVjNGV6FitjWporm1",
+    "8bmPvdt5JFcrQGyT8bAZwf",
+    "4aVISVX89J1qqiELtxrkBb",
+    "5avzyssTJEDo3Gjs5YHgEw",
+    "aa53fKegxCVJO6xweCpuSL",
+    "77qEiuRGZHQ4BvoNh21UUp",
+    "b75ISF/LRNFadRzOUAcUsQ",
+    "46F/vxElVM37aGd3zMWkvt",
+    "e0N3jwzUBPvrm/dMbwYm6v",
+    "845kbrhS9Dg7SYmPRn6cIB",
+    "a9BpysMphMjqRbxCEhtGAW",
+    "3bUA9KIEFGgZziqtEDfV43",
+    "284xDbge1I6pkxlCLYT+uk",
+    "9bUx5rJapEda6shEEp4wB/",
+    "b6Z7zgUnhK2aiQ/ZoBYj0H",
+    "f7U3gCnJVO24E3gIRQtl4D",
+    "c263TzS+5FB6ZccvFmh3HF",
+    "a3McpQtlhA04dzI9sfNf+5",
+    "93W7ect51NiqlVygrA7bkC",
+    "cdJlgtD1lN8rLS8W36U0Jd",
+    "29pkuBCf1Ad7poiP72lNVP",
+    "72/5nhjPRFQK99coOkpGYw",
+    "ccfV7vAzBPu7HZZQZvr8uI",
+    "a5ExBgDeBO45Qje2HOD0kI",
+    "eezuFFIaJKWo1OB1WniFBQ",
+    "e1j8G1zldNjINUWgNi+i4R",
+    "d756gFTuxDj6FXqbjRRDVW",
+    "cf/WIQ1sdOkq6BfGeMcG4D",
+    "ce5L8e/89JT6QDfQXO+p+d",
+    "66GWo6DQpElLSZoqB8AN9U",
+    "c4GzyfAmZNJp80ntSgfn8O",
+    "d3bLYk+VBOkKNwEAjDD5tV",
+    "400YIMxp1F74xAFZfqw+zE",
+    "72ejakVWFPwbEVHPt0Qhj9",
+    "f9tPDu0A5NfZeffO5QtP/I",
+    "famnWgp9lIGZrxCMwdCe+K",
+    "2cSjAOwTBMTJ8+DiY59gG7",
+    "b0iTL9U59HXIHSDc6r/4rB",
+    "1flQycud9FAqXIFDyCV4i4",
+    "02m8TwXw5EjaOpwg5/6Krw",
+    "00VIBfTjFIjpnbHpNbzgRN",
+    "e1/X883s5BS4ZzjREzkyHV",
+    "f88Mm+V11Cc7msOy/qQUJC",
+    "16L1DvtrNNMKzvSHIrdRlb",
+    "5dznraFaBJOZwA+lxhiqFp",
+    "a4Gp6AqKVH5pumjJDPtTcz",
+    "6ef9DrNE1C46Gg7iFSaIlh",
+    "0b2LZApJ9LPJ8LNWm49dKS",
+    "83IJmBboRFvbSJOOaFTp/d",
+    "40NldYjalB8oTHc8j66Wv8",
+    "29WDTOE6hMVLhXDZ0EdGZR",
+    "89Nbb9ZjhG/LM1xT0Sco2r",
+    "cdUL4vrcJC3Jmgj8XmaLsm",
+    "22pADCwJFPJJYzyOMtbBHC",
+    "9fFxD1bbdMnpaySAo38VkA",
+    "9b+E6GhOdCaqf9O3OZ7M2R",
+    "afgkvinTBBQ4qh+TyTDWYM",
     "a286bbGknJLZpRpxROV6M94",
-    "cd/cdP3C1HZJf0NyGmy9Ec",
     "4fc4EEhuhDLaYWrICTuaL8",
     "289njrlZBG5btm0gsqpsma",
     "bcWhMkzFBKNJxS8tEvGa7b",
@@ -23,482 +294,211 @@
     "db9BOnopRG+JcNc35V19/R",
     "efXtp/KtxPc4hfE711xe4K",
     "c6IKj1jhhJv7oYrD2BBmSN",
-    "56VhEUIgREyYjAJPQ7KBa4",
-    "03nQ1cJE5KuK43QXPOJQCr",
-    "366pAIriBItZmNg289gdGc",
-    "a4OIp6snpNbqYyI/NuyeG9",
-    "f4qjCNZjRKPLVrGtHmNjgN",
-    "b6zflmqkVGcqnR8hiPgW0B",
-    "10wpMaw1RBE7DfbPjM70Pj",
-    "d9hO9pPvVLMK62dh19IoHP",
-    "bdi3+jrEVKMbee4QKk5Jho",
-    "e8OfIOVKlHsYB4wRicNWoY",
-    "55JhpaF5hOoYgrI2Tkni4d",
-    "2bdQoXmFdLO7+yVrxHMWNm",
-    "84ek9SzgFO8oY1gyTDcyAF",
-    "c89zlkpKNJ95MuHwqhX781",
-    "03YTlpU0FCX6/3B5cpM6Ri",
-    "caOkL1k9pJ57DqpOJ7wZME",
-    "ab95jZuAJGla6O4d39CSro",
-    "75g+FRStlISIhzYNCj/Rw2",
-    "eeivTzsWtNcKF1tYcgI6MB",
-    "50jyvY9IVKPK5rolZoX3bQ",
-    "0f4on7unJFdZpLpV88zcBf",
-    "c6PhukrvBO0qqK+GMtlgpP",
-    "3cCgVf+c1K9rWnABpficKO",
-    "2cR4MKApJGgqN7jPNrH9JG",
-    "6e0fB28ZhMC7xb+upmiH4O",
-    "093za8BnhMyYmsV65DWLj3",
-    "a5/5y3H+NKeLmn6Mi9hb3Z",
-    "0bmqI4GaNCaKNubv9Gewxv",
-    "1fGZn4MeNAspUph90aLefU",
-    "4chu3kzmNDZKlU4QIaF+3r",
-    "5cJVQuz+dJgafa33XOcm1p",
-    "88OEWfDiJHpanSQze6+avM",
-    "a05fsQ2ytM2pJ0z7dO5GGq",
-    "10m7Q8kXtFgYOHz1lQvcf9",
-    "24ajoEdAlMso9N6uytQM9f",
-    "95J2LIPq9Hrqyr84+PAANo",
-    "70Bl/DwqlI/KW3nu6Ps/aD",
-    "f8By1VEyZF24VSyJT4Phse",
-    "558zXEamtHBqhgo56CV5nD",
-    "f2Cj/xPchAu6VmzcLYJ/CT",
-    "58XBkIdeBOI6plnxChHSbp",
-    "493Km/vNZAtptYyrJlZO/c",
-    "c2D35qunJGG7huYAsdbPEv",
-    "92BaEGorJN+4fKwBS9XBq2",
-    "ffIm6CL4BOf4V3QEvx0ThV",
-    "4atmfqDg1COY2RD7//AlLQ",
-    "71zIJyVsxIHb7nPVJWU2yE",
-    "91TKdYNPZPHbBRjqsWF1Y1",
-    "13Q/dADE1GRJNVmisVmn/r",
-    "b9mSWIpyxI/oCYqEMJgIjK",
-    "4fIelLd7hBF4gTdAtNpq/v",
-    "d5/Po0nXZCia9Qy2A+PMuC",
-    "1crUSinMdJbKU54bGKCmOS",
-    "8fRhqYQ9FGgJpoft8C9kwx",
-    "74taMtyPRBFYadPVg/bmqt",
-    "2aNFL/FI5ANrwaVR4uzjEJ",
-    "3cRMLJRRNKsJgnEsUm/+ZM",
-    "b1z3yHA3VIp7ddLGieGZKp",
-    "23rflRTS1LBa6nCdfrkyZU",
-    "7bXKKCgYlAZ4bYr69sBOjX",
-    "6apju1a4BOcqbPahkKd8Rr",
-    "5el/49RWNNVo/EoLCDFgaV",
-    "92JIrXmgBA1KVrmhpwEIOj",
-    "c6+82BVVFPLLj3aQR1TU6l",
-    "49CpUR9L9L2LjaCrHdWe9x",
-    "43ZsTDkl5EfJjUc0yJP6L3",
-    "99kNG3xetFAZrO0y1qxab7",
-    "60HAweH65Lf4qQl60RVyih",
-    "87b/Y4vmBC9IDlzGEGnkxO",
-    "eeQZXaUEVNdJ4muZtKodGP",
-    "fcBr4OFwBDdp6LtTaHQRK+",
-    "12G1PRGCdOKa0APVETfUIR",
-    "bcKg8Cea9BcKTSwKowzwos",
-    "98lepiLlBLkZU31IIF8WPa",
-    "0b4wBFVjhGfpHDk/bXpe8n",
-    "8bQmJctNtIE4rOP4pkERxS",
-    "92ppVxswBM6b2sMHQeqWx4",
-    "0aO9PFFFtN7azAyfr3wFW2",
-    "527SLrKIdOYIURYRSREwaF",
-    "410Wdp+mRLn56dQPzwH3lx",
-    "38vY/VbMlD3qaJIYG0RaNs",
-    "b5xp38GkpICI/Ueq7t/Ho5",
-    "caoXqTePhCcJ65wivYA95I",
-    "e7nFKpPBFP77vTPYuZSXx3",
-    "e6iJye/QdF6aW0BeozHMBJ",
-    "5frOwCaudIU4mB/xXhm7W2",
-    "fboo8+HvdAsaXLTwHy7YKK",
-    "91MJEh5aJM45COTox6zRUE",
-    "e1rptxS+NAPY9ypi+CPb1Z",
-    "5duGEbiYtEP58S0xL5pDOP",
-    "d27cJO8+RF7YQtQfhm1POL",
-    "c5wV3uEixLJbya8mekjLZX",
-    "075Vab1hxFQ5ggt8MexG3y",
-    "d37KsJIptO7JTWmOYbY7n4",
-    "0dZDjBgB9LDr00uGKbl2V7",
-    "73nGfgp1NHq7qm80jhRfox",
-    "7d5vodv3NAjpHtpcwJP+bs",
-    "a2Tg5tk4RIb4S9BL/xlzTa",
-    "77yJxOtupJiJJINAwYhJh/",
-    "e1gUKhBkxOcrRJ+o3r6r7S",
-    "d5Nez+3oBGrJAhNpQnYQN3",
-    "f4PWPtWo9EVo7IYTi0iklx",
-    "682YpEM2dJ154FFCMjpxT4",
-    "57Udsv6BhAOa8GQaPPtSJg",
-    "daZGDzPypGu4WdzPCd5JHz",
-    "fdW00pvu9EGLDs+YsYHj+P",
-    "29JvePa7FDCI+CF3hYj87e",
-    "77MVMeJYFGnaa0Xt2hvh+G",
-    "7109KrVH1NI4hLlhx92k2W",
-    "03W6EnQSFB0oH5BWb2VS41",
-    "d99gKlU4pLL6sX3U3or0VN",
-    "c2m3nAe4ZNXKEP/V3l2X3O",
-    "3eqv+KEVJENrrtyjAxplr1",
-    "60lUFtd2tPPLOEqi7nrDHh",
-    "6dIP/AmalKd4zfxhUsjLUr",
-    "8fLpU2xMZGzp72gLBYN1iv",
-    "ffhgRpmJtHGJWEC2187R/c",
-    "f5dSS6xHhCa61AOVGZY86a",
-    "82t0TcYcRBK4XpLO6o1FPr",
-    "d0Pp66WJxBxKX7M4tMC08W",
-    "52OdIR4phHm4kuXe9uzVYr",
-    "c0W87hlVVE5bXYn0nlEGOr",
-    "fbrJA+B2RHlYyD7/ZX71AY",
-    "05kwAee/5AVJU46ujMGYvp",
-    "23xm3XYsRI+re/fjMi8yLc",
-    "7dGwsG29VF16uYBTUvzqd/",
-    "6dcrPjZ7FFkqVG4VaaHIQ8",
-    "7cd+6rRVpLqobKlwG/Cc7b",
-    "9awEWvxd9NX7gMYqZnxJ1k",
-    "7ebbjMtOlI3Y2kGhWQWC8f",
-    "5bSGWgY7hCwYvDgNYge0Mi",
-    "647WlkyexJzpiudCqjiutx",
-    "87B1IsGVhMWKwk+zG+MxIp",
-    "c3uUd825xJGaemulP2miRn",
-    "ee9FVlRq9C0at11fqauvmG",
-    "54bncapBhH/roOJZI618q2",
-    "96g1pUdnBBCIUewV/JrOKJ",
-    "d73CBlVRBFppTHP5SXoUF1",
-    "fdIro6PABJa4Ztm5grNxNX",
-    "80PnE+rx1FHoZ6JZ86MfeU",
-    "12K7DrnOxJcrPoPArPC8bZ",
-    "1a7EKKNvVOA6Nqctz2emC6",
-    "4cZIql9uRICqFfzVEeQm90",
-    "ce0WdLW71HfoOdlAb1Jc6h",
-    "1bs0wrXlpOHaqj0tYrk1RJ",
-    "34N61+wndOILpVXJIxJArN",
-    "5cUDAPR0BPC4WWErQX+WfO",
-    "14sPu8JvRHcaheTI4S4pIC",
-    "56/iyrv41IpoCuksgVC8kt",
-    "75hs1FWKpI4K/hZHF9aq8e",
-    "f2TEb4p0FKcJR6kskDntIv",
-    "68TpLhaqxPiZYCil66oRs/",
-    "26TFN4WyNJsrYgE7KiYdoi",
-    "1e8u0Zwx9P/ofmq3k+/PL3",
-    "3duszOPYtOdZz0BMsd+QCD",
-    "44gkexDxBP3r0dYlaRa+fI",
-    "a0aQpkvBlICIjk2i7lOn/1",
-    "701WafZFxPA5zA5oCeV3XN",
-    "569Spw07tD8KknGic1tFym",
-    "59Ay823llHHr6QtTHIfEOy",
-    "c1ye8miuRNDLpXMIi5xvpm",
-    "07SyA0Fh9KX5wQ2/2DCmhZ",
-    "92Vr4+47tF+I8MrNzBVup2",
-    "778t5fMddGC4gcO13zpKtu",
-    "baf6kPZ+lNerwvKuNMBrAV",
-    "bd9MiqHKNDbquqjmRmrkOn",
-    "a5KSD4ts5FfoGZnC542oGc",
-    "73/Z8VZK5JYrFv9RI8Mo5u",
-    "f72TKwwgdPcKRHwyz22Eut",
-    "3eqBENFilLcadGee4P52W5",
-    "f4D4tvS1FBjKv5Wqw/LaQi",
-    "2bRYg1HPhPgrbrmOOvIOjH",
-    "caqkM2MAtCvbNGPMjb2UB1",
-    "eaYn+rhI1PwKDk8srLu9LL",
-    "dbNh8TUI1OrIVHZ3iUf6hw",
-    "d2dA2WJYJPULInR9Vvspg/",
-    "a8Er+1l2RB55QXdWk2TM2x",
-    "1d+QFovjNFnpvOV/wS8C0G",
-    "39TSxhc+xMnL71pnwateHJ",
-    "11JWeCxOtOv4RjpI/GV9rw",
-    "3166xJ5TBFdrRrFJSLBbfv",
-    "1d9DV34gdLt7G851sROfCk",
-    "c3nuY0oZ9EN4cj6ofzd93G",
-    "baDTMG2g1AwrIc4Gb3DZRx",
-    "144010HuBOa6MkpjVqJkA8",
-    "938FDapEtBXIVJMzfO6wO2",
-    "974eP5QfFGN47LwRj4UgL0",
-    "b3+aAb+B9D2osaEct4STjV",
-    "83X5Utd/hNbIBI4RRGb7RO",
-    "3f8b2Z/bBDmaIkRTpCHprs",
-    "98xdz6hStPG7cBzenPl28q",
-    "a0t+LxqgRNm72HV17FnwV/",
-    "3btoxPMj1FI6gv9NHupdiq",
-    "33A1PZcq5NDYPpFlxr6r9h",
-    "b7nKHbfUBDhbJsb+4oSKKZ",
-    "39dbm8enNCx4v91Da5UvaA",
-    "e2ptybW8lBBJfM29vCaL3r",
-    "8bnYBe1TVEdp1eNxtG7QZ1",
-    "f6CdIrIXhAa7A+EkZXMBQd",
-    "bcDTCnUsdPurNYgn8bPsyy",
-    "86m3TVEDBK2bb8boIkoFZj",
-    "7aVB3DuNZNC5cJOo+2bdDB",
-    "f5eQESD9NATqqQvEmaYOgH",
-    "a1Wr4wWvtFeIs9HeQTBjrK",
-    "afxcieM25Jca9tL5kF5OfE",
-    "23ByBUXkdKC5C/eE0fr2mx",
-    "64vP4RralEBag3PZ48Z/Io",
-    "d6l7ZFZ6pHqqw5DTFEE5Rz",
-    "0b0QYuN8dImah+QAmWjsHl",
-    "a0KXILtuBLbYbSo1UPZ9di",
-    "c1oWW6J11I8KANue+Sl9iw",
-    "c1gK6QILJOYqzH950O8PQK",
-    "35xi2UlqlLOoW6b8zFMHIC",
-    "560BhGsmlIUYQnri0BC/26",
-    "29yXZJ5XhK+ojaTsqndysI",
-    "0dPmh8m0dE7IUoeb3tS8YN",
-    "f5NwSElzJFU401pt/A+R8V",
-    "e3mMqxoqhP24HnlZ8AHDzj",
-    "ca9vBqyJVIe4g6KlEVcsnp",
-    "52oWbHrndLyqWXkqk/9+GX",
-    "30K+xoActJAr1BcMm9zQ0o",
-    "30qTfemlhDhJHsMgy88s9l",
-    "0eI1/27oNJ2p3zwDC3uh+V",
-    "68K3n+uMxGsbLNrHaBzCYL",
-    "bdrVY/7SFCWqibY3fFGdYg",
-    "50f+yjaEZGqIxJj5q/Db51",
-    "e5KoMvhKZD7LIR/ncvHrV9",
-    "9czk6AMT9J5Jo3l/a4YyiY",
-    "56mV019F1LJIeodmn8ySUZ",
-    "c8FsaFp+1FKJPmwOVckqbT",
-    "4eYH7LOr5MMpTCOoE7Vl+7",
-    "8d+k4uwhNG95S6eckfIrKW",
-    "13ZLPr43pLaLcBZpr+15n9",
-    "f2UmfIsyBJe7Zxx7K2QLj6",
-    "31/nDi0WZLi72CKTc4ic8D",
-    "11G/DA+gBDn5FinGCxlfTl",
-    "22I1ejXkRI2rtka+acRnn+",
-    "f9a46nEHlCX4KsZXcgUPfA",
-    "68t8EkhPpAd6DkmwvaoxAR",
-    "e42YVYFNtIt4Kj6vOgXSGs",
-    "c5KumvwzlHtaaYBOYJRhAh",
-    "e4u9JiYflIV5TDQSDrXc/x",
-    "1c+kl52ClPu4A9Or2biGBX",
-    "48UlQDXyBGjaG+bASbbe03",
-    "580Lwh85RMYbwf2yv1OZwV",
-    "38RoNUrSNBZZWfPym4+Dmj",
-    "fb3XdwyWVFRpsBFLHR2qAE",
-    "94S8FiJWlPzrQ4rEx0wqnp",
-    "bbhF1d45lLqKLiCljzHAIy",
-    "34xivmV4NFxryXGVUWtJwf",
-    "74HdmaNuhA5JGO+9Y4rJEL",
-    "9eHQr7WhpAVZoIfO8I1RHg",
-    "83XPS9VcBBIoaYESjviyIF",
-    "6bqojUqhdMN7fu8C25aSi/",
-    "5aLJYoW5REgpOgpy0mNO+u",
-    "3auWWGmWtGtLHhT6lTHzQv",
-    "3fa63Dc5lGW7la7zTEaUUb",
-    "60F2rMC2xNI6cnkYB+/b+G",
-    "8fQYbM2zdNwZtKBbyC1Rae",
-    "46rasuPSpC6I89wMwZLEvj",
-    "6cqSym+bRI/beRRm7At9tJ",
-    "e4fZzbSstIxr+PtH9iJQmZ",
-    "ac4OZmxBlNB51jcK+MciDF",
-    "58RLIsjspMf5ScGReKVT3C",
-    "b4Mb3kfYZDaKF9QVEzxRv7",
-    "9f3qWWKTdHN5gXK8EL174J",
-    "438S22ONNL4pB7o6Q8TGxt",
-    "77pTZeiUpA3LAvP9lTuSJc",
-    "7by/fEt/9DUKPbrjlAvFGJ",
-    "32UqOLiNFPP7a+XLidScFR",
-    "1379XAwoRHJYRE3IHxylGA",
-    "8csLoGi9BK+J5amxJCgyvU",
-    "ddBxZVTUJATYJs8idFZCF3",
-    "09qkloZKxNq7IxQSj8PVlV",
-    "1cYU34111DSpQKV8ohu92/",
-    "c8zdSdOrdAPalGDqW0Cw8h",
-    "5cdNuw9bJHc7aWoixdNtX0",
-    "f3k8H2BWVMQZLqbcZJZODr",
-    "ecZ+51sXlPuJiIq6uQT/eq",
-    "9atXVCMtBJlqIQWGl5QxaB",
-    "6du9U+KIFB8L3yfR5w/DwM",
-    "a97163UbRMnLJ0Wc3rsQbf",
-    "534xscGktFPIc2MpoevVgw",
-    "37DxQcC65AdZWWV1/4Eb+d",
-    "69q+NDhY1NOahrja356q0J",
-    "61gY2IuDxHIJk6ND7ZxQ6p",
-    "7eElYRFpBL+o42J2d0AIZd",
-    "43/YhAwXhBLplWrkPw6d11",
-    "6e54/64dZFwpKhRzjUiIWV",
-    "c5a7TFPfNFEqeJoWo+l42U",
-    "61hY8blsBMYJt8QxugOETx",
-    "995Y5tt61LOLbJnlOBdRLj",
-    "dckn0QYeJNKKHte5pFpuze",
-    "65LS/MgSpOp6wSbmRseUN9",
-    "d9na6QkDpEPoHdNwvtGgsE",
-    "31236954ZK5pVPgFkc8wk4",
-    "a21oioAp1E7aw3uTpgB699",
-    "88DE8/RCtCkrVV2DdeEQp4",
-    "ec657lxiVK+J36To1x1FQe",
-    "78VU9O0uhIE7XMea/ALWVu",
-    "4amZTiMJVOlaBEu2s2Flyh",
-    "b9Xum7mSxGi6KFyNHZx0fa",
-    "02vICJp5dCxZ192VIf0XYU",
-    "35oz60k9dM8JXDFfj/8eSr",
-    "93+fKAuG5E14lfGcgjR2k2",
-    "46LSTihH9LDYe1UgCOc/7G",
-    "98T6GDC6FMCLMd8yg9pDLx",
-    "1eHp76JsJBn6qfzpRaJ6tr",
-    "74yMlySVtB5Jx05qduMbyD",
-    "f4LyDkW8xAi4WDHVhGmmZr",
-    "20lxmFs/BGR75TTeY+rVz7",
-    "d6+4O5HUFHeJztErFHOhLV",
-    "a9yXl4ITJCKITBt108Vhoi",
-    "bdlLf3znVDZaMWuxjzsNc/",
-    "08pOd/2HtHupRsLASXi+w/",
-    "1cOtS9i5VNjrtcB0CeXEi+",
-    "d9VEK5CW1ErKplNLnmfU5J",
-    "cchVhnSzdH3Za2yHYhqxry",
-    "d7LG80xehPNbRZmuB3Mh4W",
-    "ffDfiuqy9B9qp+jWkSsZ7F",
-    "ddJ4o61O1Hl70hrRGePl5w",
-    "c3cWsW7kxFtKr1MSeTxGzT",
-    "ce8UMzdLlP3rW8gKoz+2sW",
-    "95LbSbqqVEaL3pNNjjsIoP",
-    "85Xsq1FN9LoqlbAKNQNajV",
-    "ffUJ8xELZG77igxZjCv7W/",
-    "cdNleEuMxAFpsskz3K5DOD",
-    "4fnR3jjFRIdqLeI/LLh6/3",
-    "31Px7BwftOTJKnEJI6yxgN",
-    "41Pxq4o+RNgrDDKS4dyG08",
-    "b9vhAM6bJGzpFyoWalnETS",
-    "49UXeppPxDeqgJ86xZB+ny",
-    "5bIHMEANFATblps7x7d6c+",
-    "73bgV/oSxGzIo0uI7YmoQZ",
-    "c6EJQwznhBr6Lz8rhaDZsD",
-    "d72tJteSxEHqMtk2Lf+MQT",
-    "053AIOgVZHY7uNS5hZsDDj",
-    "c5r5Ah+6FCRqZ6liKVdGaH",
-    "be3jwUm01Dc4NC7naU/0Jm",
-    "8cE51cdhRPDoM4Bogd9OBG",
-    "b3yGZZlOxG6qZrsrPYmcj0",
-    "70QXcvdhFKbahE7cqqJHfS",
-    "93+apeys5M64EQysVikNd8",
-    "efw+ZA43VHuayEZ53sJII0",
-    "fdu9qKmcNOAJxh2YRPhFeq",
-    "fc+AxrrsJHi6qxDJtQEl1F",
-    "475SoUElpLl4/PTL5nQeGu",
-    "08S3oMKoRBQa/mVGBUBlHq",
-    "af+DeccjtLHIo6h+RAsXqq",
-    "db1zzMvCFD+L7pReD7ZIUS",
-    "1dnbQeBZhJOZVq0d2Mx56F",
-    "406cTW6nBFgpfv3nixfZZ3",
-    "0eD/RpMMJMdYKVlCOpk3TP",
-    "45GSyPZ3JPZ77EdFWVr8tU",
-    "36elwx4C9IMpQdyA7tJfkM",
-    "650uTwQB5Fjr4vnso+9SeW",
-    "30U5irg+9MnJkTYmLG5mX2",
-    "cbXNbie6hKZbBD0G3EAowB",
-    "80dbyTIx1O8Lp+WRZJ0O0e",
-    "3afcKaV7lNs7Mmt8WBz8So",
-    "cfY+pgXGBJkrQRr7DDgZWS",
-    "49J8vlXsZIPI44OLBbl1BX",
-    "31l1VmfS9Pp7RNgryWOxem",
-    "aa5k60K5ZFGJdJhNn/L/tM",
-    "caKbYXsH1L5rMJJnP2o6PT",
-    "01g7Cku1FP+q+x/yqqyx3X",
-    "a6W4WJkvdNVrrM0mJonK+/",
-    "8asQxwvghJqbHP45GAIZp5",
-    "6fuY1DF/xAsLZMJbCmOLq0",
-    "dc919+ObRONa8C18G0BJ5P",
-    "65lmZjYUhH57HWzh5yabzc",
-    "9aVZcpFEJLB4NbbwXVwCkC",
-    "fejSgErWRGy5UPl3tlaGsS",
-    "c2XGuSanFP2JGTnktf3ouR",
-    "c8HvFocFVOmbpp13Q64pqT",
-    "a2FSYZiDlDSLav+OuJO7T8",
-    "87rjC0SltOXpAEXhd/rw6e",
-    "55cGDiSLVK9IEZbWzh+JyM",
-    "3ci7STvLVINrT1cG6HtrfQ",
-    "03LmVGY0JOgqfQeem0dNIZ",
-    "20IUtgyBZPjrL8NcZAleeF",
-    "91tR7VI+pFeLAz2jObS2BQ",
-    "f5VGVXb/FG5Yc0H+Fo+wbv",
-    "9bbkN+WAhJya4me+iqiVQI",
-    "b5N9/vrRJIvZ0BCCCFBxZv",
-    "0fKgB/SydMb7mSDfwLw3pw",
-    "bakmrHq/lClpqg9azB7sep",
-    "dfg36/qyFM1bbGS5ND5cs6",
-    "deRvQm+/tNdpzfxgQGlPef",
-    "48XdFLDIlAAYU9tNckUxln",
-    "1ffc077ApG4pg+Tz5EBUcI",
-    "cfaLZJiyJF76CSwCPkbh+E",
-    "0aBfmx0LhBZoW9Lb/eQKi5",
-    "47ZUHZvwpNp42Eaytuct+G",
-    "1aevNXalVCAook/NnGbT1t",
-    "11o4PRzH5Cfo6458+WdBTw",
-    "fe3kzR1ydLwK+ar3fHeVBC",
-    "99TBlEv49GGYDI/CzrnN7b",
-    "9c2Sg0xAVM4ocllvTTN6br",
-    "4eL76XLMpE64mrV4uLgP2z",
-    "3ePCgv+gZFWbKAqUvPEX2t",
-    "be3StV6xZO8rlCvP1EdeIF",
-    "0fBxftJoRJUaNlj6Cez5Ek",
-    "8aTqtBWoVDC6EblFLiTE77",
-    "40G25ESwdAqbbohQ6tSkwQ",
-    "839qjvYv9KAZM1VErOR/yg",
-    "3aNjDHs0hMU5usB27WmjAa",
-    "01B94rZktDy7NnIUIz5MEn",
-    "32QIbyiOBH15kPPTvR58HZ",
-    "b1/CQa2xxNIL2tB11DumMd",
-    "cftmLg23xN0Yzmnlf26Mpz",
-    "8faYV2a4ZKD5IowJlLhyK9",
-    "de+p2UjhRP0LARHHlPaJde",
-    "c3xDbRY7VJ8aWkxHiEA6I7",
-    "35o5gjvC5Pcbz8cIoL2d/q",
-    "a1YdScEEtIEZcCtsHkKi+U",
-    "46NSjXCqBOULrA3bbK0xj2",
-    "c8gqubryBBT6lFvi6QAO/G",
-    "eaGuRc2GhKBYLOwFNzmW8g",
-    "f4VgfjaHZCi7hbLsMvhf6w",
-    "44PofoyrJAFLDc8ZxdV/YV",
-    "64i93IDTVDib0uiDUXvCfp",
-    "f841HSV4BAmKkgR/2HjwlZ",
-    "27mYUXItxM5rskLcLX1z+W",
-    "1cjOqtXv1EZpICvTM8/HTQ",
-    "e7gmxB02lPsLLgH4/NLYXz",
-    "4bFZ9tYbZOXoIDNaa88SV5",
-    "88xNksZalC55CLz3qbcpqG",
-    "78VfasAK5IUKaBdYW0U7tV",
-    "fbDcOt7WJPg7stJIDIrvfH",
-    "f88vNYBAZLdbLYZvKv83gb",
-    "4bMOeKh8tOvZCb2GjiEeWW",
-    "66qut71xtPlKKQCmXThu1Y",
-    "f603eKUeBDG4QH0imbMikk",
-    "ec1hKRxBVJV5qvfVR4T9Rv",
-    "d4717P7nNFmKWfJeRxKgRR",
-    "b5eJLlFg5G0JgKSIiAIdbh",
-    "3cVIqoHaRP8I0YUA3pOd3M",
-    "f5Ulen+sFN9LNmqffWoUXc",
-    "45+MDTultH67KGcK6bZmkI",
-    "09VGyxEdFNC7DtwVf/d4Zl",
-    "00pjUkyAVAb7o8gDMrlOLg",
-    "5cvZa0AIBHSotgue01yyOT",
-    "79jNpHtbBGvIQllwvekX/N",
-    "13qpjYp+hAOorRJAf+iD9d",
-    "1cX7yC6gpEcokNx6dseske",
-    "9bgcXs4OxHFo/7yNwqQAUi",
-    "8d+OmdmLtHDLDnx/DP7Xb9",
-    "55adkd2oRMPoX8APx4zcob",
-    "9cTmsYuOtIA7hKKGXcLL8t",
-    "345L4TCGBL5Z3YMEgn/xkg",
-    "67QcC6YiBKjJVWkc0nBeFW",
-    "e9bk+ZnTNFXILNDG25kFp/",
-    "0dDwOz3QFPKIC2+CmRZnv9",
-    "e4ecbQPQNEGIhIDKqCfWFh",
-    "0c9N+cOONAW5YvzfnTz5WX",
-    "1fFrnP0jZLFq7buDUimgiP",
-    "8b0w7ROTBLaK4ZgyvAAB03",
-    "db4lv1rslNIZSkZdrHC9Oj",
-    "58aDJgEO5MuZkRRVIiVFFv",
-    "d8My1CDFxEmbPY5hHsnNQH",
-    "b6mfxXMuFJVIyvQfI5crzg",
-    "aeXMyBokdDUaWiG0USyia8",
-    "4bZ9ekOGNNeZrmwlPWbQ/H",
-    "5abQiXdZJK2ph4P+DDnvmN",
-    "20CH31fLVMfpf0vY7VtqdG",
-    "21PFNkRoZOOJkGWjsVAAJs",
-    "09jpTmigdLQ675o+rm23TJ",
-    "5aCvLVb5ZO7JgF1KnuFJu8",
-    "a6LnrNY/ZBML+HeWQ+VMm2",
-    "7bzp+4uqhO96CAeW48jVoC",
-    "08tdUZZFxACJ4acA6LAgbM",
-    "21GJKC85lIda3iIzkKEIip",
-    "54BF4a/eBHiJWTYiAadQxA",
-    "fbFwQ+o9hOB7zs802Uvplk",
-    "6bQ0ydqJZL/6taVMsZOyQo",
-    "b1vvtE6e9EVp295sIinjWZ"
+    "47WmfN1EdBmKoD5PeWXVSx",
+    "beTvaIDQJI24SP8/doGvbq",
+    "bc7/+sFRFNfLY1p/LvSG4F",
+    "d5TVXQ+1xIVZwPocaZ2tL6",
+    "04P8ITtnhOEqfPhXdYinlS",
+    "ebY3xR0HdO36GQW+DVWstZ",
+    "2b3QO1xJZAk57Uq9AcblhI",
+    "80YMaMK3FHWbRyKshelyS5",
+    "c6ljExkDZKk6a/fzjd7pDe",
+    "70d4BfnsxL1pOYUXSKuCTQ",
+    "ffcnIPfIZJFryv5I9WKELB",
+    "4a8+W8lX5GcaHBYhEeZRrK",
+    "eaRNroGARMab486IsHQdFe",
+    "65k0228a9M9YI9IVO070NB",
+    "9dRtuKCmtPEJxrfgkL6wVH",
+    "e0V/IjMu1Har4KxBovhuAb",
+    "de2n1pRiVD35nh4RS6fnIq",
+    "f4XBl7VllLn6d7N3VJ4mvR",
+    "2b978M1x9O/YGd8tDLRLM0",
+    "d2sreSVp1CKp50w6gWsNgm",
+    "69WUbiBBFDmIvOx7xr5mXD",
+    "c14uQJyeNF277FoSFG5B4R",
+    "7cBcZlpeRIeZSsGpsXuDUN",
+    "c8TJDAdKNNWrDbxEQg7dd3",
+    "bev/5ex4lH344cN+Uh74Rm",
+    "derSj3Y0ZOVJnX4FGM8wvy",
+    "09KL3BpntPc6h8I3ITSp3x",
+    "b64KGXq9dPfaXktuxc2fRZ",
+    "244/0o/9pFj5XSLbQ0MDUp",
+    "68AtH9SCNOKqUoHUp72wkJ",
+    "52OZv3uG5KsphJ7EMdjOpf",
+    "19r/tncIxPzKCrqVvpTjJL",
+    "2dS8gTfp9A3Jec0eNW9SA+",
+    "1eXEzGx4dN/bsY3X8ybxaJ",
+    "01Bwv2NkFAH6iaH2/BSs5F",
+    "e1GGPcY/hNEZBmcbbU6k4R",
+    "11/fKMoNlDXr+EM53dlc64",
+    "bdxcndsRNIAYOJYNYmLdl+",
+    "cbkWUI9gFLe66aIjMcgbtF",
+    "fdDWhA+45Ei7RWpppT5aQc",
+    "c4u/A+rjhAxIN2LI9SUcJJ",
+    "0fQdppEQFKRYuXqwtonNTz",
+    "95qjLV1/1BooVdOGdqunRU",
+    "c2VbChm4tIsI3OBXtjS8m0",
+    "9ccAFtrIlD/J6uxUpyTwQg",
+    "83/nmS++BAErlvlENDB8OK",
+    "fet9hFSWNJZZcZdlH3H99O",
+    "63xp5c5xJEXZRghlQrSm2X",
+    "27UhwNaLNOl5MRXJO9DElA",
+    "6fKctfuhtKOJ99xHmTBNHz",
+    "9dZyjlLMFAU6FNe9Y9Nz6x",
+    "68k72OwDFCOrVPaAf8habI",
+    "a2NVrSCFZEA4nzdEYUBjeG",
+    "57k7ssszRGzIvZprvoFc1P",
+    "5dLv0s1B5POb1Hr0/5oY+r",
+    "612TIFDiFBn5kSP/ymzc3z",
+    "cbJE8Js+9GKagojBfB/8DH",
+    "9aPHEJNSZIVZqIX19S8ZhC",
+    "a5nm3nSURHO7/UJzaBsVEI",
+    "dcnImGn7dF5pcC8BG5XCHI",
+    "aaZnDgb/9AXqgIHIPHkKqp",
+    "66kEfPKtFG9bMGhJZl/8Cp",
+    "c2LYjrZFhH1pmuAMKflPdy",
+    "9d/5f/455LHLu/rtiFcFV0",
+    "94EC2X9fFCtrS9tFE29nf4",
+    "faeLAyB7RD0q9qTqGsBfk2",
+    "e0qgrqyRlHuZlFdBFucQ19",
+    "e7LWFqMjpKQanxes6e2yRD",
+    "a7qxPfqIFJeINaDuOwZ8l8",
+    "c0jdAgiTND2457Yx7iLuiE",
+    "ecEYnOOl5NK7TXCqaGzdiR",
+    "acEUIPdJNNy6mov5/H5mNy",
+    "19wTgJdtNIS4h83WdsAs25",
+    "eft3d0RlRFxbpRVw5AFAr/",
+    "bakGEzF29PmZjpPHjNMIb4",
+    "abmoVrZLpJIonwMpSrkadt",
+    "c5qOnIsXJFUrEQRgZMAcB0",
+    "28/0Xv15tOZb9WAlXdsGi1",
+    "95gxF72OdGU7bazRkPRxYA",
+    "4fsLfzYvpB/pRNPONWcRN9",
+    "11fB4KVoJPJ6IPmSR312T4",
+    "92tpD2jOhLarEYndQvBCqS",
+    "4ewre4yJZGC73a1pQy3xqZ",
+    "a3+fWuMvpLeLSe7pSFnDTW",
+    "23atVwhsZJjJhu8tJE1jYa",
+    "017tHBRSVEVpeelzUJ3LmI",
+    "3fpvUuQy5KE6N9VjLnU3nT",
+    "419RXiWudON7AKmJUb3e7Y",
+    "62IxhbNVBOKZ8Nup9AplW/",
+    "fcBLleTYtI04U5QD6fD4By",
+    "46JWIaaElGPbp+wMEPPpOd",
+    "a4sntH42tEHoGQHe/NHCsc",
+    "1cSsVw92tDy6LOdF1DOXmH",
+    "8fGgXeYQ1L6bJX0AwjRbRd",
+    "a7JoUGS8FCZorJZID55VL7",
+    "35g27DewxCzKrmgg9unMC2",
+    "662HhS5U5KwITEU9DojwyB",
+    "84sw6WtsRGnaVqvjI+8dNL",
+    "8a2e4ts5FK15jGrFhN6O9T",
+    "adg3tEqXpCdozC34Cl8XLD",
+    "a4Y59130JKTrKyo7rRAfJR",
+    "01Vz1EwXZCoYl/hCq11Uul",
+    "2cV8SUfC5IPKwpvHpBbhWI",
+    "f2CeTBb/lN86Lrw4WuZ8OD",
+    "b8KxI1N/BEXY99PD1H3Vm3",
+    "0bRjHqPtRMp4f2YZHPorGJ",
+    "f8DagHAhtOf5Qeap2dty6q",
+    "22eGvjsOBMsYSAOcOvTWqk",
+    "4bUvEc949Gv53lTc43+oY1",
+    "cf1oTFmJROQY1+4QwRz4ur",
+    "bbz8AbFGRGfbwAbVRuSj0q",
+    "5bnWqws/1IX4A69xIdGdsK",
+    "59D5bTbTlGLLB5/RxOny3H",
+    "60NYXJmaRFxaOMSdROkzbf",
+    "11Gmbd3Q9CiZ0vIhrnBHF9",
+    "fdRS/dktJFmKoGxJGdGJho",
+    "cbqwN8LdxEkIzPF6e0gGWa",
+    "d1gsZkc+dFU48TBG5WTFVO",
+    "b9hqjnElxGT7fywS+JX1G2",
+    "222DWsQOVCnLuivSFKbllU",
+    "59XQtRGOZHoatF4TUznmEq",
+    "67z7S0tSZNoosBdisB8dWF",
+    "7f6V1289tCLoQedXT77l0D",
+    "e97QA6EwxKcpkbtHUQT7sq",
+    "22GvcUiRRO15aVUCKDr9cX",
+    "01/a7ZH+hIcJ9ogbTIehtX",
+    "ddmlOIuStCraFU2GKdefmT",
+    "d7qIVYyhZFMZv7cPHRs3Gg",
+    "85uLqTf81KvaY/zP40auU2",
+    "b8O6KjkJNDjJMxj6mJTWaE",
+    "13l81JbktMtL52KUKqIQQE",
+    "bfGAP6cB5PB7j+wTyMpr6a",
+    "78G4p+EVhGX7Sb0BW0vavX",
+    "c0TYxV+qZNxYhXYC75yGoz",
+    "b38uXV4RtCRaqVfOBhZ47S",
+    "08f+6hbvNClqro0OhxbwLc",
+    "0chhb0OQlIDbVHV9r1DiPm",
+    "caIvDqAtFN3qAxG4JLS9aI",
+    "18SwrX7BFPjrvp+4PHvxeg",
+    "ec4ObYQ6BO8K3prFgsvIgl",
+    "cddSj+ZGpAoqb6fI30abG1",
+    "ff/Z64DdZN1Z4y9JmjlXeX",
+    "11v3EVECNIC4kCNOk0HqVX",
+    "80bak6yAtGQafHjOUQrygP",
+    "212x4tTsNPsakr9eDEScWV",
+    "1fluMebWNN35W5WkYsco90",
+    "69O9jIA4dKN4jDPN3G+enD",
+    "dfUn2zrZlAP7QHtpSdXzoI",
+    "b09kntqs9I6qKf0cc+Vdt4",
+    "ac7iky6d1Dwqf6e3RQE9Ac",
+    "41ouMWIzNHh7+p8yyMPUZg",
+    "cd/cdP3C1HZJf0NyGmy9Ec",
+    "6dCeDGBHNHDqUyw9NjTCBp",
+    "9e1+663QlCib1k/hcFOWzm",
+    "6aVlPUjphLk5iWZQ+hNbNg",
+    "05J6ryYMJCZ4hduNYOmpbL",
+    "7ec1+JfIpGCZikAqx8lOEc",
+    "6a5G8glGxMto8K0Bup0xaV",
+    "e8z/sAQclHCoc4E3CnZSH1",
+    "e8R7GgN55Eh5cSpND8JcBV",
+    "fdb/PyEW9BtIneGh5o8wXU",
+    "3c7W1HHpVDjr0Z22q3fEO9",
+    "ebshSKV4VB3II12v0rPpJ/",
+    "184UA+0f5GRpCqgf5G5Z1Q",
+    "73KkKDrGVCP4y0iFYvfohT",
+    "4cCxFHtVZAga22rMFzqNNa",
+    "8cQjx2WIJBNJoKm+KJHg8i",
+    "2cI8+irIpKkpLj/YnUVtFo",
+    "3dsACCdJNP37mTNtxivKhx",
+    "83aZHtpxBKbpkP4JfsCZkQ",
+    "d9K2Vh7bRB65cwtkQ0MFrS",
+    "96Cs9TCV5JN4loTNj5dquz",
+    "74D/zIY5pEY4Hqrw/cANz6",
+    "ceZlrcByxN67DPaPtpejA+",
+    "680lUIY55EDb67at5Vu35U",
+    "1bDdVIdiJLWoAIj8xjw0IE",
+    "deKXvAyR1MeJ0/f9IsuHLG",
+    "610jjC/eJONr+yE3WRldP5",
+    "99JJs7oY1D7LxCCUw82eIU",
+    "5aowyTEdVAC7CobnOgYLEx",
+    "59P6JZ3DdGioz+NpV0ofJc",
+    "a0aaJG4dNDkplaeaCoQyZo",
+    "aaJN1VakJIcaK+TsppZV6u",
+    "a8vMc2y6BL9qs6EwS+3kBW",
+    "b3+gecCwVLNZJkEqhIFOCh",
+    "57Sl/ocX1K35xj+bCp7/uW",
+    "210vCB3YFDaZP+NolhQ8H4",
+    "eaV4EVdaBDr5Q3wsh1rxzm",
+    "33uQXm0xJFoZERo92YY/oR",
+    "dd9MZ3JDVP5KbQUfd4gxdG",
+    "d7gK44835Lr4PRbuFWnSkt",
+    "4eFKpDKg5K6IOMNafezVgj",
+    "60uEkzZRFLioTzWmODsao5",
+    "54JvFTy9RN2JSxzVSPHQHX",
+    "9eFdXCAohOMKMrem/pw7re",
+    "a1xAfgd2JKK5hKURYvolBM",
+    "9bdoqu3G9O66Pufy/hkJfU",
+    "ebVfIVyeRKUoV2NGiC2fZf",
+    "5eRCeFreRFkK8LB1Q5vqIS",
+    "8eAb+mX3VHlZGiuSbgxAMu",
+    "cfInnfiXpCj45N9HxA/OOb",
+    "9cNr3PeY5Jx4bUW5xBuvK5",
+    "b0bfHGXepGMYfCgBoHL+fi",
+    "a6krxCOa1GYY1SjiX5Rf1a",
+    "07QjuU/FNKlJ/IjWTfcBPx",
+    "41RclF4f5Hb6YNghlayvMe"
   ]
 }