@realsee/five 5.0.0-alpha.163 → 5.0.0-alpha.166
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.AnimationFrameLoop.html +1 -1
- package/docs/classes/five.BVH.html +1 -1
- package/docs/classes/five.BVHIntersect.html +1 -1
- package/docs/classes/five.BVHNode.html +1 -1
- package/docs/classes/five.BVHVector3.html +1 -1
- package/docs/classes/five.Camera.html +1 -1
- package/docs/classes/five.Clipper.html +1 -1
- package/docs/classes/five.Five.html +1 -1
- package/docs/classes/five.InternalWebGLRenderer.html +1 -1
- package/docs/classes/five.IntersectMesh.html +1 -1
- package/docs/classes/five.Model.html +1 -1
- package/docs/classes/five.NetworkSubscribe.html +1 -1
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMaterial.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PanoCircleMesh.html +4 -4
- package/docs/classes/five.PanoCircleMeshSolid.html +4 -4
- package/docs/classes/five.Scene.html +1 -1
- package/docs/classes/five.Subscribe.html +1 -1
- package/docs/classes/five.TextureLoader.html +1 -1
- package/docs/classes/five.Tile3D.html +1 -1
- package/docs/classes/five.Tile3DModel.html +1 -1
- package/docs/classes/five.TileBoundingSphere.html +1 -1
- package/docs/classes/five.TileCacheNode.html +1 -1
- package/docs/classes/five.TileCubeTextureTarget.html +1 -1
- package/docs/classes/five.TileCullingVolume.html +1 -1
- package/docs/classes/five.TileOrientedBoundingBox.html +1 -1
- package/docs/classes/five.TileRequestScheduler.html +1 -1
- package/docs/classes/five.Tileset3D.html +1 -1
- package/docs/classes/five.Tileset3DTraverser.html +1 -1
- package/docs/classes/five.TilesetCache.html +1 -1
- package/docs/classes/five.Work.html +1 -1
- package/docs/classes/five.XRButton.html +1 -1
- package/docs/classes/gltf_loader.DDSLoader.html +1 -1
- package/docs/classes/gltf_loader.DRACOLoader.html +1 -1
- package/docs/classes/gltf_loader.GLTFLoader.html +1 -1
- package/docs/classes/gltf_loader.GLTFObject.html +1 -1
- package/docs/classes/gltf_loader.GLTFParser.html +1 -1
- package/docs/classes/gltf_loader.THREEGLTFLoader.html +1 -1
- package/docs/classes/line.Line.html +1 -1
- package/docs/classes/line.LineGeometry.html +1 -1
- package/docs/classes/line.LineMaterial.html +1 -1
- package/docs/classes/line.LineSegmentsGeometry.html +1 -1
- package/docs/classes/line.THREE_Line2.html +1 -1
- package/docs/classes/line.THREE_LineSegments2.html +1 -1
- package/docs/classes/react.Store.html +1 -1
- package/docs/classes/server.BVH.html +1 -1
- package/docs/classes/server.BVHIntersect.html +1 -1
- package/docs/classes/server.BVHNode.html +1 -1
- package/docs/classes/server.BVHVector3.html +1 -1
- package/docs/classes/server.Model.html +1 -1
- package/docs/classes/server.PBMContainer.html +1 -1
- package/docs/classes/server.PBMGroup.html +1 -1
- package/docs/classes/server.PBMMesh.html +1 -1
- package/docs/classes/sticker.Sticker.html +1 -1
- package/docs/classes/vfx.Airflow.html +1 -1
- package/docs/classes/vfx.Flame.html +1 -1
- package/docs/classes/vfx.Particle.html +1 -1
- package/docs/classes/vfx.SpotLight.html +1 -1
- package/docs/index.html +1 -1
- package/docs/interfaces/five.AddableObject.html +1 -1
- package/docs/interfaces/five.AnimationFrame.html +1 -1
- package/docs/interfaces/five.CameraPose.html +1 -1
- package/docs/interfaces/five.ClipperParameter.html +1 -1
- package/docs/interfaces/five.DepthPanoramaControllerCustomInitArgs.html +3 -3
- package/docs/interfaces/five.EventCallback.html +1 -1
- package/docs/interfaces/five.FiveInitArgs.html +1 -1
- package/docs/interfaces/five.FloorplanControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ImageOptions.html +1 -1
- package/docs/interfaces/five.ImageURLMappings.html +1 -1
- package/docs/interfaces/five.ImageURLOptions.html +1 -1
- package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
- package/docs/interfaces/five.Intersection.html +1 -1
- package/docs/interfaces/five.MapviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ModelEventCallback.html +1 -1
- package/docs/interfaces/five.MotionKeyframe.html +1 -1
- package/docs/interfaces/five.MovePanoOptions.html +1 -1
- package/docs/interfaces/five.NetworkOptions.html +1 -1
- package/docs/interfaces/five.PBMPanoPicture.html +1 -1
- package/docs/interfaces/five.PBMParameters.html +1 -1
- package/docs/interfaces/five.PanoCircleMeshInterface.html +2 -2
- package/docs/interfaces/five.PanoCircleMeshOptions.html +1 -0
- package/docs/interfaces/five.PanoCircleMeshSolidOptions.html +1 -0
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +3 -3
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.Pose.html +1 -1
- package/docs/interfaces/five.Scissor.html +1 -1
- package/docs/interfaces/five.State.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.emit.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.hasListener.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.off.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.on.html +1 -1
- package/docs/interfaces/five.SubscribeMixinType.once.html +1 -1
- package/docs/interfaces/five.TextureOptions.html +1 -1
- package/docs/interfaces/five.Tile3DModelLoaderOptions.html +1 -1
- package/docs/interfaces/five.TileBoundingVolume.html +1 -1
- package/docs/interfaces/five.TileContent.html +1 -1
- package/docs/interfaces/five.TileCubeNode.html +1 -1
- package/docs/interfaces/five.TileCubeTree.html +1 -1
- package/docs/interfaces/five.Tileset3dOptions.html +1 -1
- package/docs/interfaces/five.TilesetJSON.html +1 -1
- package/docs/interfaces/five.TilesetJSONNode.html +1 -1
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +3 -3
- package/docs/interfaces/five.WebXRSelectParams.html +1 -1
- package/docs/interfaces/five.WorkCubeImage.html +1 -1
- package/docs/interfaces/five.WorkImage.html +1 -1
- package/docs/interfaces/five.WorkInitial.html +1 -1
- package/docs/interfaces/five.WorkModel.html +1 -1
- package/docs/interfaces/five.WorkModelTiles.html +1 -1
- package/docs/interfaces/five.WorkObserver.html +1 -1
- package/docs/interfaces/five.WorkTile.html +1 -1
- package/docs/interfaces/five.WorkVideo.html +1 -1
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +3 -3
- package/docs/interfaces/gltf_loader.DDS.html +1 -1
- package/docs/interfaces/gltf_loader.GLTF.html +1 -1
- package/docs/interfaces/gltf_loader.GLTFReference.html +1 -1
- package/docs/interfaces/gltf_loader.THREEGLTF.html +1 -1
- package/docs/interfaces/react.FiveActionReactCallbacks.html +1 -1
- package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
- package/docs/interfaces/react.PropTypeOfFiveFeatures.html +1 -1
- package/docs/interfaces/server.Intersection.html +1 -1
- package/docs/interfaces/server.ModelEventCallback.html +1 -1
- package/docs/interfaces/sticker.IntersectionLike.html +1 -1
- package/docs/interfaces/vfx.ParticleArgs.html +1 -1
- package/docs/interfaces/vfx.ParticleTweenKeyframe.html +1 -1
- package/docs/interfaces/vue.FiveActionVueCallbacks.html +1 -1
- package/docs/modules/five.SubscribeMixinType.html +1 -1
- package/docs/modules/five.html +2 -2
- package/docs/modules/gltf_loader.html +1 -1
- package/docs/modules/line.html +1 -1
- package/docs/modules/react.html +1 -1
- package/docs/modules/server.html +1 -1
- package/docs/modules/sticker.html +1 -1
- package/docs/modules/vfx.html +1 -1
- package/docs/modules/vue.html +1 -1
- package/docs/modules.html +1 -1
- package/five/index.d.ts +16 -62
- package/five/index.js +9 -9
- package/gltf-loader/index.js +3 -3
- package/line/index.js +3 -3
- package/package.json +1 -3
- package/react/index.js +2 -2
- package/server/index.js +2 -2
- package/sticker/index.js +3 -3
- package/umd/five-gltf-loader.js +1 -1
- package/umd/five-line.js +1 -1
- package/umd/five-sticker.js +1 -1
- package/umd/five.js +1 -1
- package/vfx/index.js +2 -2
- package/vue/index.js +2 -2
- package/docs/classes/five.LegacyPanoCircleMesh.html +0 -5
- package/docs/classes/five.PanoCircleMeshDark.html +0 -8
- package/five/index.mjs +0 -372
- package/gltf-loader/index.mjs +0 -260
- package/line/index.mjs +0 -260
- package/react/index.mjs +0 -260
- package/server/index.mjs +0 -367
- package/sticker/index.mjs +0 -260
- package/vfx/index.mjs +0 -260
- package/vue/index.mjs +0 -260
package/server/index.mjs
DELETED
|
@@ -1,367 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @realsee/five
|
|
3
|
-
*
|
|
4
|
-
* Generated: 2022-11-14
|
|
5
|
-
* Version: 5.0.0-alpha.163
|
|
6
|
-
*
|
|
7
|
-
* Terms:
|
|
8
|
-
* Realsee SDK License Agreement
|
|
9
|
-
*
|
|
10
|
-
* Update: July 28, 2021
|
|
11
|
-
*
|
|
12
|
-
* THIS LICENSE AGREEMENT BETWEEN YOU AND 【BEIKE REALSEE TECHNOLOGY (HK)
|
|
13
|
-
* LIMITED】(“Realsee”) FORMS A LEGALLY BINDING CONTRACT BETWEEN YOU AND REALSEE IN
|
|
14
|
-
* RELATION TO YOUR USE OF THE SDK. This License Agreement accompanies the Realsee
|
|
15
|
-
* Software Development Kit(s) for the software and related explanatory materials
|
|
16
|
-
* (the "SDK") and includes any upgrades, modified versions, updates, additions,
|
|
17
|
-
* and copies of the SDK licensed to You by Realsee.
|
|
18
|
-
* BY DOWNLOADING, INSTALLING, OR OTHERWISE ACCESSING OR USING THE SDK, YOU AGREE
|
|
19
|
-
* THAT YOU HAVE READ, UNDERSTOOD, AND AGREE TO BE BOUND BY THIS AGREEMENT. YOU ARE
|
|
20
|
-
* AGREEING ON YOUR OWN BEHALF AND/OR ON BEHALF OF YOUR COMPANY OR ORGANIZATION TO
|
|
21
|
-
* THE TERMS AND CONDITIONS STATED BELOW.
|
|
22
|
-
* This Agreement applies to Your use of the SDK in the country in which You
|
|
23
|
-
* legally install it (“Territory”) and is subject to the laws of such Territory
|
|
24
|
-
* and further subject to Section 12 below. Different terms, conditions, and
|
|
25
|
-
* limitations may apply to the use of the SDK in any additional countries.
|
|
26
|
-
* 1. DEFINITIONS.
|
|
27
|
-
* “Agreement” means this Realsee SDK License Agreement.
|
|
28
|
-
* “Developer”, “You” and “Your” means the person(s) or entity acquiring or using
|
|
29
|
-
* the SDK or otherwise exercising rights under the terms of this Agreement.
|
|
30
|
-
* “Documentation” means the technical or other specifications or documentation
|
|
31
|
-
* that Realsee may provide to You for use in connection with the SDK.
|
|
32
|
-
* “Integrated Product” means any software, website, or on-line service developed
|
|
33
|
-
* by You based on or using the SDK (collectively, the “Integrated Product”).
|
|
34
|
-
* “Intellectual Property” means any patents, patent rights, trademarks, service
|
|
35
|
-
* marks, registered and unregistered designs, applications for any of the
|
|
36
|
-
* foregoing, copyright, and any other similar protected rights in any country and
|
|
37
|
-
* to the extent recognised by any relevant jurisdiction as intellectual property,
|
|
38
|
-
* trade secrets, know-how and confidential information. Realsee reserves all
|
|
39
|
-
* rights not expressly granted to You.
|
|
40
|
-
* “Realsee” means [Beike Realsee Technology (HK) Limited, a company incorporated
|
|
41
|
-
* and validly existing under the laws of Hong Kong].
|
|
42
|
-
* “SDK” means the Realsee-proprietary Software Development Kits (SDK) provided
|
|
43
|
-
* hereunder, includes all development tools (including any compiler and debugger),
|
|
44
|
-
* application programming interfaces (“APIs”), libraries, binary utilities, header
|
|
45
|
-
* files, Documentation, content, data, code samples, and other materials provided
|
|
46
|
-
* to You in connection with this Agreement, whether delivered through a download,
|
|
47
|
-
* or any other media or form, and is licensed, not sold, to You by Realsee for use
|
|
48
|
-
* only under the terms of this Agreement. The terms of this Agreement will govern
|
|
49
|
-
* any updates provided by Realsee that replace and/or supplement the original SDK
|
|
50
|
-
* delivered to You, unless such update is accompanied by a separate license, in
|
|
51
|
-
* which case the terms of such license will govern.
|
|
52
|
-
* 2. LICENSED USES AND RESTRICTIONS.
|
|
53
|
-
* 2.1 Subject to the restrictions contained in this Section 2, Realsee grants to
|
|
54
|
-
* You during the term, a limited, non-exclusive, revocable, non-sublicensable,
|
|
55
|
-
* non-transferable license to install and use the SDK within the Territory only
|
|
56
|
-
* for the purpose of internal development.
|
|
57
|
-
* 2.2 Restrictions. You acknowledge and agree that, You shall not, and shall
|
|
58
|
-
* ensure that Your affiliates, employees, agents, representatives, officers,
|
|
59
|
-
* representatives, and subcontractors do not (directly or indirectly):
|
|
60
|
-
* 2.2.1 decompile, reverse engineer, disassemble or attempt to derive the source
|
|
61
|
-
* code of, those components of the SDK provided in object code form, or any part
|
|
62
|
-
* thereof;
|
|
63
|
-
* 2.2.2 remove, alter, or obscure any copyright notice or other proprietary rights
|
|
64
|
-
* notice on any part of the SDK;
|
|
65
|
-
* 2.2.3 sell, assign, pledge, rent, lease, lend, upload to or host on any website
|
|
66
|
-
* or server for use by any third party except You, redistribute, or sublicense the
|
|
67
|
-
* SDK (or any part thereof), or operate the SDK (or any part thereof) in the
|
|
68
|
-
* capacity of a service bureau or other hosted services provider, in whole or in
|
|
69
|
-
* part, nor may You enable others to do so;
|
|
70
|
-
* 2.2.4 or alter, modify, customize or improve the SDK, or any part thereof;
|
|
71
|
-
* 2.2.5 use the SDK (or any part thereof) for any illegal purpose, in any manner
|
|
72
|
-
* that is inconsistent with the terms of this Agreement, or to engage in any
|
|
73
|
-
* illegal activity;
|
|
74
|
-
* 2.2.6 use the SDK (or any part thereof) in any manner that may damage the
|
|
75
|
-
* operation of Realsee’s products or services; or
|
|
76
|
-
* 2.2.7 use the SDK or any information contained therein or otherwise provided by
|
|
77
|
-
* Realsee for the purpose of developing, or having developed, any product
|
|
78
|
-
* competitive with any Realsee product or service, as determined by Realsee in its
|
|
79
|
-
* sole discretion;
|
|
80
|
-
* 2.2.8 include any portion of the SDK in Your Developer products.
|
|
81
|
-
* 2.3 Realsee has the right to impose reasonable conditions such as a reasonable
|
|
82
|
-
* fee for use of the SDK in Integrated Product in the future.
|
|
83
|
-
* 2.4 You may make a limited number of copies of the SDK to be used by Your
|
|
84
|
-
* employees or consultants as provided herein, and not for general business
|
|
85
|
-
* purposes, and such employees or consultants shall be subject to the obligations
|
|
86
|
-
* and restrictions in this Agreement.
|
|
87
|
-
* 2.5 All licenses not expressly granted in this Agreement are reserved and no
|
|
88
|
-
* other licenses, immunity, or rights, express or implied, are granted by Realsee,
|
|
89
|
-
* by implication, estoppel, or otherwise.
|
|
90
|
-
* 3. CONFIDENTIALITY.
|
|
91
|
-
* The SDK and all source code, Documentation, specifications, engineering details,
|
|
92
|
-
* and related information pertaining to the SDK, whether in oral, written,
|
|
93
|
-
* graphic, or electronic form, are and shall remain the confidential and
|
|
94
|
-
* proprietary information of Realsee or its licensors (collectively, the
|
|
95
|
-
* “Confidential Information”). You shall (i) disclose Confidential Information to
|
|
96
|
-
* only those directors and employees (collectively, “Affiliates”) whose duties
|
|
97
|
-
* justify their need to know such information and who have been clearly informed
|
|
98
|
-
* of their obligation to maintain the confidential, proprietary, and/or trade
|
|
99
|
-
* secret status of such Confidential Information; and (ii) use Confidential
|
|
100
|
-
* Information solely in accordance with the license granted hereunder. In any
|
|
101
|
-
* event, You and Your Affiliates shall treat Confidential Information as strictly
|
|
102
|
-
* confidential and shall use the same care to prevent disclosure of such
|
|
103
|
-
* information as You use with respect to Your own similar confidential and/or
|
|
104
|
-
* proprietary information, which shall not be less than the care a reasonable
|
|
105
|
-
* person would use under similar circumstances. All Confidential Information, and
|
|
106
|
-
* any copies thereof, shall be returned promptly to Realsee upon request. You
|
|
107
|
-
* shall ensure that Your Affiliates comply with the provisions of this Section 3,
|
|
108
|
-
* and You shall be liable for any breach of this Section 3 resulting from the act
|
|
109
|
-
* or omission of any of Your Affiliates. You shall not disclose Confidential
|
|
110
|
-
* Information to any third party, including, without limitation, any of Your
|
|
111
|
-
* subcontractors.
|
|
112
|
-
* 4. PROPRIETARY RIGHTS.
|
|
113
|
-
* 4.1 As between You and Realsee, Realsee and/or its licensors retain ownership of
|
|
114
|
-
* all right, title, and interest in, to, and under the SDK, including, without
|
|
115
|
-
* limitation, all patents, copyrights, trade secrets, trademarks and other
|
|
116
|
-
* intellectual property and other proprietary rights therein, and reserve all
|
|
117
|
-
* rights not expressly granted to You.
|
|
118
|
-
* 4.2 The items contained in the SDK are the intellectual property of Realsee and
|
|
119
|
-
* its licensors and are protected by PRC copyright and patent law, international
|
|
120
|
-
* treaty provisions and applicable laws of the country in which it is being used.
|
|
121
|
-
* You agree to protect all copyright and other ownership interests of Realsee
|
|
122
|
-
* and/or its licensors in all items in the SDK supplied under this License
|
|
123
|
-
* Agreement. You agree that all copies of the items in the SDK, reproduced for any
|
|
124
|
-
* reason by You, contain the same copyright notices, and other proprietary notices
|
|
125
|
-
* as appropriate, as appear on or in the original items delivered by Realsee in
|
|
126
|
-
* the SDK. Realsee and/or its licensors retain title and ownership of the items in
|
|
127
|
-
* the SDK, the media on which it is loaded, and all subsequent copies, regardless
|
|
128
|
-
* of the form or media in or on which the original and other copies may exist.
|
|
129
|
-
* Except as stated above, this Agreement does not grant You any rights to patents,
|
|
130
|
-
* copyrights, trade secrets, trademarks or any other rights in respect to the
|
|
131
|
-
* items in the SDK.
|
|
132
|
-
* 5. TERM AND TERMINATION.
|
|
133
|
-
* 5.1 This Agreement is effective until terminated. Realsee has the right to
|
|
134
|
-
* terminate this Agreement immediately, without judicial intervention, if You fail
|
|
135
|
-
* to comply with any term herein. Upon any such termination You must remove all
|
|
136
|
-
* full and partial copies of the items in the SDK from Your computer and
|
|
137
|
-
* discontinue the use of the items in the SDK.
|
|
138
|
-
* 5.2 Realsee may at any time, terminate the Agreement with You if: (A) You have
|
|
139
|
-
* breached any provision of the Agreement; or (B) Realsee is required to do so by
|
|
140
|
-
* law; or (C) Realsee decides to no longer provide the SDK or certain parts of the
|
|
141
|
-
* SDK to users in the country in which You are resident or from which You use the
|
|
142
|
-
* service, or the provision of the SDK or certain SDK services to You by Realsee
|
|
143
|
-
* is, in Realsee's sole discretion, no longer legally or commercially viable.
|
|
144
|
-
* 5.3 When the Agreement comes to an end, all of the legal rights, obligations and
|
|
145
|
-
* liabilities that You and Realsee have benefited from, been subject to (or which
|
|
146
|
-
* have accrued over time whilst the Agreement has been in force) or which are
|
|
147
|
-
* expressed to continue indefinitely, shall be unaffected by this cessation, and
|
|
148
|
-
* the provisions of Section 3, 4, 6, 7 and 8 shall continue to apply to such
|
|
149
|
-
* rights, obligations and liabilities indefinitely.
|
|
150
|
-
* 6. DISCLAIMER OF WARRANTY.
|
|
151
|
-
* YOU EXPRESSLY ACKNOWLEDGE AND AGREE THAT, TO THE EXTENT PERMITTED BY APPLICABLE
|
|
152
|
-
* LAW, USE OF THE SDK (OR ANY PART THEREOF) IS AT YOUR SOLE RISK AND THAT THE
|
|
153
|
-
* ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY, AND EFFORT IS
|
|
154
|
-
* WITH YOU. REALSEE LICENSES THE SDK TO YOU ONLY ON AN "AS-IS" BASIS. REALSEE
|
|
155
|
-
* MAKES NO REPRESENTATION WITH RESPECT TO THE ADEQUACY OF ANY ITEMS IN THE SDK,
|
|
156
|
-
* WHETHER OR NOT USED BY YOU IN THE DEVELOPMENT OF INTEGRATED PRODUCT, FOR ANY
|
|
157
|
-
* PARTICULAR PURPOSE OR WITH RESPECT TO THEIR ADEQUACY TO PRODUCE ANY PARTICULAR
|
|
158
|
-
* RESULT. REALSEE AND ITS LICENSORS SHALL NOT BE LIABLE FOR LOSS OR DAMAGE ARISING
|
|
159
|
-
* OUT OF THIS AGREEMENT OR FROM THE DISTRIBUTION OR USE OF INTEGRATED PRODUCT
|
|
160
|
-
* CONTAINING PORTIONS OF THE SDK. REALSEE AND ITS LICENSORS DISCLAIM ALL
|
|
161
|
-
* WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED
|
|
162
|
-
* CONDITIONS OR WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
163
|
-
* OR NONINFRINGEMENT OF ANY THIRD PARTY RIGHT IN RESPECT OF THE ITEMS IN THE SDK
|
|
164
|
-
* OR ANY SERVICES RELATED TO THE SDK.
|
|
165
|
-
* REALSEE IS UNDER NO OBLIGATION TO PROVIDE ANY SUPPORT UNDER THIS LICENSE
|
|
166
|
-
* AGREEMENT, INCLUDING UPGRADES OR FUTURE VERSIONS OF THE SDK OR ANY PORTIONS
|
|
167
|
-
* THEREOF, TO YOU, END USER OR TO ANY OTHER PARTY.
|
|
168
|
-
* 7. LIMITATION OF LIABILITY.
|
|
169
|
-
* TO THE EXTENT NOT PROHIBITED BY APPLICABLE LAW, IN NO EVENT WILL REALSEE OR ITS
|
|
170
|
-
* LICENSORS BE LIABLE FOR ANY DIRECT, INCIDENTAL, SPECIAL, INDIRECT, OR
|
|
171
|
-
* CONSEQUENTIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE,
|
|
172
|
-
* LOSS OF BUSINESS, REVENUE, OR PROFITS, LOSS OF OPPORTUNITY (WHETHER DIRECT OR
|
|
173
|
-
* INDIRECT), CORRUPTION OR LOSS OF DATA, LOSS OF REPUTATION OR SAVINGS, DOWNTIME,
|
|
174
|
-
* OR DAMAGE TO, LOSS OF OR REPLACEMENT OF DATA OR TRANSACTIONS, COST OF
|
|
175
|
-
* PROCUREMENT OF SUBSTITUTE SERVICES, BUSINESS INTERRUPTION, OR ANY OTHER
|
|
176
|
-
* COMMERCIAL DAMAGES OR LOSSES, ARISING OUT OF OR RELATED TO YOUR USE OR INABILITY
|
|
177
|
-
* TO USE THE SDK (OR ANY PART THEREOF), ANY INTEGRATED PRODUCT, OR ANY THIRD PARTY
|
|
178
|
-
* SOFTWARE, APPLICATIONS, OR SERVICES IN CONJUNCTION WITH THE SDK (OR ANY PART
|
|
179
|
-
* THEREOF), HOWEVER CAUSED, REGARDLESS OF THE THEORY OF LIABILITY (CONTRACT, TORT,
|
|
180
|
-
* OR OTHERWISE) AND EVEN IF REALSEE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
|
181
|
-
* DAMAGES. IN NO EVENT WILL REALSEE’S TOTAL LIABILITY TO YOU FOR ALL DAMAGES
|
|
182
|
-
* EXCEED ONE HUNDRED DOLLARS ($100.00). THE FOREGOING LIMITATIONS WILL APPLY EVEN
|
|
183
|
-
* IF THE ABOVE STATED REMEDY FAILS OF ITS ESSENTIAL PURPOSE. THE LIMITATIONS
|
|
184
|
-
* CONTAINED IN SECTIONS 6 AND THIS SECTION 7 ARE A FUNDAMENTAL PART OF THE BASIS
|
|
185
|
-
* OF REALSEE’S BARGAIN HEREUNDER, AND REALSEE WOULD NOT ENTER INTO THIS AGREEMENT
|
|
186
|
-
* OR PROVIDE YOU WITH ACCESS TO THE SDK ABSENT SUCH LIMITATIONS.
|
|
187
|
-
* 8. INDEMNIFICATION.
|
|
188
|
-
* To the extent permitted by applicable law, You agree to indemnify, defend and
|
|
189
|
-
* hold harmless Realsee, its affiliates and each of their directors, officers,
|
|
190
|
-
* employees, independent contractors, and agents (each a “Realsee Indemnified
|
|
191
|
-
* Party”) from any and all claims, losses, liabilities, damages, expenses, and
|
|
192
|
-
* costs (including without limitation attorneys’ fees and court costs) incurred by
|
|
193
|
-
* a Realsee Indemnified Party as a result of: (i) Your non-compliance with any
|
|
194
|
-
* terms of this Agreement; (ii) Your use of the SDK (or any part thereof); or
|
|
195
|
-
* (iii) Your use of any Integrated Product, including any claim that Integrated
|
|
196
|
-
* Product infringes the copyright, trademark, trade secret or other intellectual
|
|
197
|
-
* property right of a third party.
|
|
198
|
-
* 9. ACKNOWLEDGEMENTS.
|
|
199
|
-
* Portions of the SDK may utilize or include third party software and other
|
|
200
|
-
* copyrighted material. Acknowledgments, licensing terms, and disclaimers for such
|
|
201
|
-
* material are contained in Documentation for the SDK or may otherwise accompany
|
|
202
|
-
* such material, and Your use of such materials governed by their respective
|
|
203
|
-
* terms. In the event of conflict between the terms of this Agreement and an
|
|
204
|
-
* applicable open source or third party agreement, the open source or third party
|
|
205
|
-
* agreement will control solely with respect to the open source software or third
|
|
206
|
-
* party software. Moreover, You shall not subject any items (including not limited
|
|
207
|
-
* to source code, object code, and any software) included in the SDK to any open
|
|
208
|
-
* source license.
|
|
209
|
-
* 10. NON-BLOCKING OF REALSEE DEVELOPMENT.
|
|
210
|
-
* You acknowledge that Realsee is currently developing or may develop technologies
|
|
211
|
-
* and products in the future that have or may have design and/or functionality
|
|
212
|
-
* similar to Integrated Product that You may develop based on Your license herein.
|
|
213
|
-
* Nothing in this Agreement shall impair, limit or curtail Realsee's right to
|
|
214
|
-
* continue with its development, maintenance and/or distribution of Realsee's
|
|
215
|
-
* technology or products.
|
|
216
|
-
* 11. GENERAL.
|
|
217
|
-
* 11.1 Export Control. You may not use or otherwise export or re-export the SDK
|
|
218
|
-
* (or any part thereof) except as authorized by United States law and the laws of
|
|
219
|
-
* the jurisdiction(s) in which the SDK (or any part thereof) was obtained. In
|
|
220
|
-
* particular, but without limitation, the SDK may not be exported or re-exported
|
|
221
|
-
* (i) into any U.S. embargoed countries or (ii) to anyone on the U.S. Treasury
|
|
222
|
-
* Department's list of Specially Designated Nationals or the U.S. Department of
|
|
223
|
-
* Commerce Denied Person's List or Entity List. By using the SDK (or any part
|
|
224
|
-
* thereof), You represent and warrant that You are not located in any such country
|
|
225
|
-
* or on any such list.
|
|
226
|
-
* 11.2 Governing Law. This Agreement and the rights of the parties hereunder shall
|
|
227
|
-
* be governed by and construed in accordance with the laws of People’s Republic of
|
|
228
|
-
* China (for purpose of this Agreement, excluding Hong Kong, Taiwan, and Macau),
|
|
229
|
-
* without reference to its conflict of laws principles. Any dispute, controversy
|
|
230
|
-
* or claim arising from or in connection with this Agreement, or the breach,
|
|
231
|
-
* termination or invalidity thereof, shall be submitted to China International
|
|
232
|
-
* Economic and Trade Arbitration Commission (“CIETAC”) for arbitration in Beijing
|
|
233
|
-
* which shall be conducted in accordance with the CIETAC's arbitration rules in
|
|
234
|
-
* effect at the time of applying for arbitration. The arbitral award is final and
|
|
235
|
-
* binding upon both parties.
|
|
236
|
-
* 11.3 Severability. If any provision of this Agreement is held by a court of
|
|
237
|
-
* competent jurisdiction to be unenforceable for any reason, the remaining
|
|
238
|
-
* provisions hereof will be unaffected and remain in full force and effect.
|
|
239
|
-
* 11.4. Modifications. Realsee reserves the right, from time to time, with or
|
|
240
|
-
* without notice to You, to make revisions to this Agreement in our sole and
|
|
241
|
-
* absolute discretion. The most current version of this Agreement will supersede
|
|
242
|
-
* all previous versions and shall be made available on the website where the SDK
|
|
243
|
-
* is made available, or by such other means as Realsee may determine in its
|
|
244
|
-
* discretion. Any modified versions of this Agreement hereto shall take effect
|
|
245
|
-
* from the time that it is made available. You shall be responsible for regularly
|
|
246
|
-
* checking for notice of any such modifications. You agree that Your continued use
|
|
247
|
-
* of the SDK constitutes Your agreement to the modified Agreement.
|
|
248
|
-
* 11.5 Relationship of the Parties. This Agreement will not be construed as
|
|
249
|
-
* creating an agency, partnership, joint venture, fiduciary duty, or any other
|
|
250
|
-
* form of legal association between You and Realsee, and You will not represent to
|
|
251
|
-
* the contrary, whether expressly, by implication, appearance, or otherwise.
|
|
252
|
-
* 11.6 Entire Agreement; Governing Language. This Agreement constitutes the entire
|
|
253
|
-
* agreement between You and Realsee with respect to the use of the SDK licensed
|
|
254
|
-
* hereunder and supersedes all prior understandings regarding such subject matter.
|
|
255
|
-
* No amendment to or modification of this Agreement will be binding unless in
|
|
256
|
-
* writing and signed by Realsee. You and Realsee hereto confirm that this
|
|
257
|
-
* Agreement and all related documents shall be drafted in English.
|
|
258
|
-
*/
|
|
259
|
-
|
|
260
|
-
import*as t from"three";import e from"http";import r from"https";import*as n from"protobufjs/minimal";var i=Number(t.REVISION);if(i<115||i>117)throw new Error('"Five" needs "THREE.js" version between 125 - 117.');
|
|
261
|
-
/**
|
|
262
|
-
* @license
|
|
263
|
-
* The 'jsrsasign'(RSA-Sign JavaScript Library) License
|
|
264
|
-
*
|
|
265
|
-
* Copyright (c) 2010-2021 Kenji Urushima
|
|
266
|
-
*
|
|
267
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
268
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
269
|
-
* in the Software without restriction, including without limitation the rights
|
|
270
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
271
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
272
|
-
* furnished to do so, subject to the following conditions:
|
|
273
|
-
*
|
|
274
|
-
* The above copyright notice and this permission notice shall be included in
|
|
275
|
-
* all copies or substantial portions of the Software.
|
|
276
|
-
*
|
|
277
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
278
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
279
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
280
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
281
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
282
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
283
|
-
* THE SOFTWARE.
|
|
284
|
-
*
|
|
285
|
-
* LICENSE: MIT License
|
|
286
|
-
*/
|
|
287
|
-
/**
|
|
288
|
-
* @license
|
|
289
|
-
* RSA and ECC in JavaScript
|
|
290
|
-
*
|
|
291
|
-
* Copyright (c) 2003-2005 Tom Wu All Rights Reserved.
|
|
292
|
-
*
|
|
293
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
|
294
|
-
* a copy of this software and associated documentation files (the
|
|
295
|
-
* "Software"), to deal in the Software without restriction, including
|
|
296
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
|
297
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
|
298
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
|
299
|
-
* the following conditions:
|
|
300
|
-
*
|
|
301
|
-
* The above copyright notice and this permission notice shall be
|
|
302
|
-
* included in all copies or substantial portions of the Software.
|
|
303
|
-
*
|
|
304
|
-
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
|
305
|
-
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
|
306
|
-
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
307
|
-
*
|
|
308
|
-
* IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
|
309
|
-
* INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
|
|
310
|
-
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
|
|
311
|
-
* THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
|
|
312
|
-
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
313
|
-
*
|
|
314
|
-
* In addition, the following condition applies:
|
|
315
|
-
*
|
|
316
|
-
* All redistributions must retain an intact copy of this copyright notice
|
|
317
|
-
* and disclaimer.
|
|
318
|
-
*
|
|
319
|
-
* http://www-cs-students.stanford.edu/~tjw/jsbn/
|
|
320
|
-
* LICENSE: BSD License
|
|
321
|
-
* PART: ext/{base64,jsbn,jsbn2,prgn4,rng,rsa,rsa2}
|
|
322
|
-
*/
|
|
323
|
-
/**
|
|
324
|
-
* @license
|
|
325
|
-
* CryptoJS
|
|
326
|
-
*
|
|
327
|
-
* Copyright (c) 2009-2013 Jeff Mott
|
|
328
|
-
*
|
|
329
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
|
330
|
-
* a copy of this software and associated documentation files (the
|
|
331
|
-
* "Software"), to deal in the Software without restriction, including
|
|
332
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
|
333
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
|
334
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
|
335
|
-
* the following conditions:
|
|
336
|
-
*
|
|
337
|
-
* The above copyright notice and this permission notice shall be
|
|
338
|
-
* included in all copies or substantial portions of the Software.
|
|
339
|
-
*
|
|
340
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
341
|
-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
342
|
-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
343
|
-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
344
|
-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
345
|
-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
346
|
-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
347
|
-
*
|
|
348
|
-
* https://code.google.com/p/crypto-js/wiki/License
|
|
349
|
-
* PART: ext/cryptojs
|
|
350
|
-
*/var s,o={},a={},u=u||function(t,e){var r={},n=r.lib={},i=n.Base=function(){function t(){}return{extend:function(e){t.prototype=this;var r=new t;return e&&r.mixIn(e),r.hasOwnProperty("init")||(r.init=function(){r.$super.init.apply(this,arguments)}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),s=n.WordArray=i.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=null!=e?e:4*t.length},toString:function(t){return(t||a).stringify(this)},concat:function(t){var e=this.words,r=t.words,n=this.sigBytes,i=t.sigBytes;if(this.clamp(),n%4)for(var s=0;s<i;s++){var o=r[s>>>2]>>>24-s%4*8&255;e[n+s>>>2]|=o<<24-(n+s)%4*8}else for(s=0;s<i;s+=4)e[n+s>>>2]=r[s>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=t.ceil(r/4)},clone:function(){var t=i.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var r=[],n=0;n<e;n+=4)r.push(4294967296*t.random()|0);return new s.init(r,e)}}),o=r.enc={},a=o.Hex={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i<r;i++){var s=e[i>>>2]>>>24-i%4*8&255;n.push((s>>>4).toString(16)),n.push((15&s).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n<e;n+=2)r[n>>>3]|=parseInt(t.substr(n,2),16)<<24-n%8*4;return new s.init(r,e/2)}},u=o.Latin1={stringify:function(t){for(var e=t.words,r=t.sigBytes,n=[],i=0;i<r;i++){var s=e[i>>>2]>>>24-i%4*8&255;n.push(String.fromCharCode(s))}return n.join("")},parse:function(t){for(var e=t.length,r=[],n=0;n<e;n++)r[n>>>2]|=(255&t.charCodeAt(n))<<24-n%4*8;return new s.init(r,e)}},h=o.Utf8={stringify:function(t){try{return decodeURIComponent(escape(u.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return u.parse(unescape(encodeURIComponent(t)))}},c=n.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=h.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,a=i/(4*o),u=(a=e?t.ceil(a):t.max((0|a)-this._minBufferSize,0))*o,h=t.min(4*u,i);if(u){for(var c=0;c<u;c+=o)this._doProcessBlock(n,c);var l=n.splice(0,u);r.sigBytes-=h}return new s.init(l,h)},clone:function(){var t=i.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});n.Hasher=c.extend({cfg:i.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){c.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize()},blockSize:16,_createHelper:function(t){return function(e,r){return new t.init(r).finalize(e)}},_createHmacHelper:function(t){return function(e,r){return new l.HMAC.init(t,r).finalize(e)}}});var l=r.algo={};return r}(Math);function h(t,e,r){null!=t&&("number"==typeof t?this.fromNumber(t,e,r):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function c(){return new h(null)}!function(t){for(var e=u,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,s=[],o=[],a=function(t){return 4294967296*(t-(0|t))|0},h=2,c=0;64>c;){var l;t:{l=h;for(var f=t.sqrt(l),p=2;p<=f;p++)if(!(l%p)){l=!1;break t}l=!0}l&&(8>c&&(s[c]=a(t.pow(h,.5))),o[c]=a(t.pow(h,1/3)),c++),h++}var d=[];i=i.SHA256=n.extend({_doReset:function(){this._hash=new r.init(s.slice(0))},_doProcessBlock:function(t,e){for(var r=this._hash.words,n=r[0],i=r[1],s=r[2],a=r[3],u=r[4],h=r[5],c=r[6],l=r[7],f=0;64>f;f++){if(16>f)d[f]=0|t[e+f];else{var p=d[f-15],g=d[f-2];d[f]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+d[f-7]+((g<<15|g>>>17)^(g<<13|g>>>19)^g>>>10)+d[f-16]}p=l+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&h^~u&c)+o[f]+d[f],g=((n<<30|n>>>2)^(n<<19|n>>>13)^(n<<10|n>>>22))+(n&i^n&s^i&s),l=c,c=h,h=u,u=a+p|0,a=s,s=i,i=n,n=p+g|0}r[0]=r[0]+n|0,r[1]=r[1]+i|0,r[2]=r[2]+s|0,r[3]=r[3]+a|0,r[4]=r[4]+u|0,r[5]=r[5]+h|0,r[6]=r[6]+c|0,r[7]=r[7]+l|0},_doFinalize:function(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[14+(i+64>>>9<<4)]=t.floor(n/4294967296),r[15+(i+64>>>9<<4)]=n,e.sigBytes=4*r.length,this._process(),this._hash},clone:function(){var t=n.clone.call(this);return t._hash=this._hash.clone(),t}});e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),u.lib.Cipher||function(t){var e=(d=u).lib,r=e.Base,n=e.WordArray,i=e.BufferedBlockAlgorithm,s=d.enc.Base64,o=d.algo.EvpKDF,a=e.Cipher=i.extend({cfg:r.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,r){this.cfg=this.cfg.extend(r),this._xformMode=t,this._key=e,this.reset()},reset:function(){i.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(t){return{encrypt:function(e,r,n){return("string"==typeof r?g:p).encrypt(t,e,r,n)},decrypt:function(e,r,n){return("string"==typeof r?g:p).decrypt(t,e,r,n)}}}});e.StreamCipher=a.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var h=d.mode={},c=function(t,e,r){var n=this._iv;n?this._iv=undefined:n=this._prevBlock;for(var i=0;i<r;i++)t[e+i]^=n[i]},l=(e.BlockCipherMode=r.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}})).extend();l.Encryptor=l.extend({processBlock:function(t,e){var r=this._cipher,n=r.blockSize;c.call(this,t,e,n),r.encryptBlock(t,e),this._prevBlock=t.slice(e,e+n)}}),l.Decryptor=l.extend({processBlock:function(t,e){var r=this._cipher,n=r.blockSize,i=t.slice(e,e+n);r.decryptBlock(t,e),c.call(this,t,e,n),this._prevBlock=i}}),h=h.CBC=l,l=(d.pad={}).Pkcs7={pad:function(t,e){for(var r,i=(r=(r=4*e)-t.sigBytes%r)<<24|r<<16|r<<8|r,s=[],o=0;o<r;o+=4)s.push(i);r=n.create(s,r),t.concat(r)},unpad:function(t){t.sigBytes-=255&t.words[t.sigBytes-1>>>2]}},e.BlockCipher=a.extend({cfg:a.cfg.extend({mode:h,padding:l}),reset:function(){a.reset.call(this);var t=(e=this.cfg).iv,e=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var r=e.createEncryptor;else r=e.createDecryptor,this._minBufferSize=1;this._mode=r.call(e,this,t&&t.words)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),t.unpad(e);return e},blockSize:4});var f=e.CipherParams=r.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),p=(h=(d.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext;return((t=t.salt)?n.create([1398893684,1701076831]).concat(t).concat(e):e).toString(s)},parse:function(t){var e=(t=s.parse(t)).words;if(1398893684==e[0]&&1701076831==e[1]){var r=n.create(e.slice(2,4));e.splice(0,4),t.sigBytes-=16}return f.create({ciphertext:t,salt:r})}},e.SerializableCipher=r.extend({cfg:r.extend({format:h}),encrypt:function(t,e,r,n){n=this.cfg.extend(n);var i=t.createEncryptor(r,n);return e=i.finalize(e),i=i.cfg,f.create({ciphertext:e,key:r,iv:i.iv,algorithm:t,mode:i.mode,padding:i.padding,blockSize:t.blockSize,formatter:n.format})},decrypt:function(t,e,r,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),t.createDecryptor(r,n).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t,this):t}})),d=(d.kdf={}).OpenSSL={execute:function(t,e,r,i){return i||(i=n.random(8)),t=o.create({keySize:e+r}).compute(t,i),r=n.create(t.words.slice(e),4*r),t.sigBytes=4*e,f.create({key:t,iv:r,salt:i})}},g=e.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:d}),encrypt:function(t,e,r,n){return r=(n=this.cfg.extend(n)).kdf.execute(r,t.keySize,t.ivSize),n.iv=r.iv,(t=p.encrypt.call(this,t,e,r.key,n)).mixIn(r),t},decrypt:function(t,e,r,n){return n=this.cfg.extend(n),e=this._parse(e,n.format),r=n.kdf.execute(r,t.keySize,t.ivSize,e.salt),n.iv=r.iv,p.decrypt.call(this,t,e,r.key,n)}})}(),function(){for(var t=u,e=t.lib.BlockCipher,r=t.algo,n=[],i=[],s=[],o=[],a=[],h=[],c=[],l=[],f=[],p=[],d=[],g=0;256>g;g++)d[g]=128>g?g<<1:g<<1^283;var v=0,y=0;for(g=0;256>g;g++){var m=(m=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&m^99;n[v]=m,i[m]=v;var x=d[v],b=d[x],S=d[b],E=257*d[m]^16843008*m;s[v]=E<<24|E>>>8,o[v]=E<<16|E>>>16,a[v]=E<<8|E>>>24,h[v]=E,E=16843009*S^65537*b^257*x^16843008*v,c[m]=E<<24|E>>>8,l[m]=E<<16|E>>>16,f[m]=E<<8|E>>>24,p[m]=E,v?(v=x^d[d[d[S^x]]],y^=d[d[y]]):v=y=1}var w=[0,1,2,4,8,16,32,64,128,27,54];r=r.AES=e.extend({_doReset:function(){for(var t=(r=this._key).words,e=r.sigBytes/4,r=4*((this._nRounds=e+6)+1),i=this._keySchedule=[],s=0;s<r;s++)if(s<e)i[s]=t[s];else{var o=i[s-1];s%e?6<e&&4==s%e&&(o=n[o>>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o]):(o=n[(o=o<<8|o>>>24)>>>24]<<24|n[o>>>16&255]<<16|n[o>>>8&255]<<8|n[255&o],o^=w[s/e|0]<<24),i[s]=i[s-e]^o}for(t=this._invKeySchedule=[],e=0;e<r;e++)s=r-e,o=e%4?i[s]:i[s-4],t[e]=4>e||4>=s?o:c[n[o>>>24]]^l[n[o>>>16&255]]^f[n[o>>>8&255]]^p[n[255&o]]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,s,o,a,h,n)},decryptBlock:function(t,e){var r=t[e+1];t[e+1]=t[e+3],t[e+3]=r,this._doCryptBlock(t,e,this._invKeySchedule,c,l,f,p,i),r=t[e+1],t[e+1]=t[e+3],t[e+3]=r},_doCryptBlock:function(t,e,r,n,i,s,o,a){for(var u=this._nRounds,h=t[e]^r[0],c=t[e+1]^r[1],l=t[e+2]^r[2],f=t[e+3]^r[3],p=4,d=1;d<u;d++){var g=n[h>>>24]^i[c>>>16&255]^s[l>>>8&255]^o[255&f]^r[p++],v=n[c>>>24]^i[l>>>16&255]^s[f>>>8&255]^o[255&h]^r[p++],y=n[l>>>24]^i[f>>>16&255]^s[h>>>8&255]^o[255&c]^r[p++];f=n[f>>>24]^i[h>>>16&255]^s[c>>>8&255]^o[255&l]^r[p++],h=g,c=v,l=y}g=(a[h>>>24]<<24|a[c>>>16&255]<<16|a[l>>>8&255]<<8|a[255&f])^r[p++],v=(a[c>>>24]<<24|a[l>>>16&255]<<16|a[f>>>8&255]<<8|a[255&h])^r[p++],y=(a[l>>>24]<<24|a[f>>>16&255]<<16|a[h>>>8&255]<<8|a[255&c])^r[p++],f=(a[f>>>24]<<24|a[h>>>16&255]<<16|a[c>>>8&255]<<8|a[255&l])^r[p++],t[e]=g,t[e+1]=v,t[e+2]=y,t[e+3]=f},keySize:8});t.AES=e._createHelper(r)}(),
|
|
351
|
-
/*!
|
|
352
|
-
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
|
|
353
|
-
Code licensed under the BSD License:
|
|
354
|
-
http://developer.yahoo.com/yui/license.html
|
|
355
|
-
version: 2.9.0
|
|
356
|
-
*/
|
|
357
|
-
a.lang={extend:function(t,e,r){if(!e||!t)throw new Error("YAHOO.lang.extend failed, please check that all dependencies are included.");var n=function(){};if(n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e),r){var i;for(i in r)t.prototype[i]=r[i];var s=function(){},o=["toString","valueOf"];try{/MSIE/.test("undefined"!=typeof navigator?navigator.userAgent:"node")&&(s=function(t,e){for(i=0;i<o.length;i+=1){var r=o[i],n=e[r];"function"==typeof n&&n!=Object.prototype[r]&&(t[r]=n)}})}catch(t){}s(t.prototype,r)}}},"undefined"!=typeof navigator&&"Microsoft Internet Explorer"==navigator.appName?(h.prototype.am=function(t,e,r,n,i,s){for(var o=32767&e,a=e>>15;--s>=0;){var u=32767&this[t],h=this[t++]>>15,c=a*u+h*o;i=((u=o*u+((32767&c)<<15)+r[n]+(1073741823&i))>>>30)+(c>>>15)+a*h+(i>>>30),r[n++]=1073741823&u}return i},s=30):"undefined"!=typeof navigator&&"Netscape"!=navigator.appName?(h.prototype.am=function(t,e,r,n,i,s){for(;--s>=0;){var o=e*this[t++]+r[n]+i;i=Math.floor(o/67108864),r[n++]=67108863&o}return i},s=26):(h.prototype.am=function(t,e,r,n,i,s){for(var o=16383&e,a=e>>14;--s>=0;){var u=16383&this[t],h=this[t++]>>14,c=a*u+h*o;i=((u=o*u+((16383&c)<<14)+r[n]+i)>>28)+(c>>14)+a*h,r[n++]=268435455&u}return i},s=28),h.prototype.DB=s,h.prototype.DM=(1<<s)-1,h.prototype.DV=1<<s;h.prototype.FV=Math.pow(2,52),h.prototype.F1=52-s,h.prototype.F2=2*s-52;var l,f,p=new Array;for(l="0".charCodeAt(0),f=0;f<=9;++f)p[l++]=f;for(l="a".charCodeAt(0),f=10;f<36;++f)p[l++]=f;for(l="A".charCodeAt(0),f=10;f<36;++f)p[l++]=f;function d(t){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t)}function g(t,e){var r=p[t.charCodeAt(e)];return null==r?-1:r}function v(t){var e=c();return e.fromInt(t),e}function y(t){var e,r=1;return 0!=(e=t>>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function m(t){this.m=t}function x(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function b(t,e){return t&e}function S(t,e){return t|e}function E(t,e){return t^e}function w(t,e){return t&~e}function A(t){if(0==t)return-1;var e=0;return 0==(65535&t)&&(t>>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function P(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function N(){}function D(t){return t}function R(t){this.r2=c(),this.q3=c(),h.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}m.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},m.prototype.revert=function(t){return t},m.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},m.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},m.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},x.prototype.convert=function(t){var e=c();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(h.ZERO)>0&&this.m.subTo(e,e),e},x.prototype.revert=function(t){var e=c();return t.copyTo(e),this.reduce(e),e},x.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=32767&t[e],n=r*this.mpl+((r*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},x.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},x.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},h.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},h.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},h.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=8==r?255&t[n]:g(t,n);o<0?"-"==t.charAt(n)&&(i=!0):(i=!1,0==s?this[this.t++]=o:s+r>this.DB?(this[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this[this.t++]=o>>this.DB-s):this[this.t-1]|=o<<s,(s+=r)>=this.DB&&(s-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&h.ZERO.subTo(this,this)},h.prototype.clamp=function(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t},h.prototype.dlShiftTo=function(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},h.prototype.drShiftTo=function(t,e){for(var r=t;r<this.t;++r)e[r-t]=this[r];e.t=Math.max(this.t-t,0),e.s=this.s},h.prototype.lShiftTo=function(t,e){var r,n=t%this.DB,i=this.DB-n,s=(1<<i)-1,o=Math.floor(t/this.DB),a=this.s<<n&this.DM;for(r=this.t-1;r>=0;--r)e[r+o+1]=this[r]>>i|a,a=(this[r]&s)<<n;for(r=o-1;r>=0;--r)e[r]=0;e[o]=a,e.t=this.t+o+1,e.s=this.s,e.clamp()},h.prototype.rShiftTo=function(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e[0]=this[r]>>n;for(var o=r+1;o<this.t;++o)e[o-r-1]|=(this[o]&s)<<i,e[o-r]=this[o]>>n;n>0&&(e[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}},h.prototype.subTo=function(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this[r]-t[r],e[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this[r],e[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t[r],e[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},h.prototype.multiplyTo=function(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i<n.t;++i)e[i+r.t]=r.am(0,n[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&h.ZERO.subTo(e,e)},h.prototype.squareTo=function(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e[r],t,2*r,0,1);(t[r+e.t]+=e.am(r+1,2*e[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},h.prototype.divRemTo=function(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t)return null!=e&&e.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=c());var s=c(),o=this.s,a=t.s,u=this.DB-y(n[n.t-1]);u>0?(n.lShiftTo(u,s),i.lShiftTo(u,r)):(n.copyTo(s),i.copyTo(r));var l=s.t,f=s[l-1];if(0!=f){var p=f*(1<<this.F1)+(l>1?s[l-2]>>this.F2:0),d=this.FV/p,g=(1<<this.F1)/p,v=1<<this.F2,m=r.t,x=m-l,b=null==e?c():e;for(s.dlShiftTo(x,b),r.compareTo(b)>=0&&(r[r.t++]=1,r.subTo(b,r)),h.ONE.dlShiftTo(l,b),b.subTo(s,s);s.t<l;)s[s.t++]=0;for(;--x>=0;){var S=r[--m]==f?this.DM:Math.floor(r[m]*d+(r[m-1]+v)*g);if((r[m]+=s.am(0,S,r,x,0,l))<S)for(s.dlShiftTo(x,b),r.subTo(b,r);r[m]<--S;)r.subTo(b,r)}null!=e&&(r.drShiftTo(l,e),o!=a&&h.ZERO.subTo(e,e)),r.t=l,r.clamp(),u>0&&r.rShiftTo(u,r),o<0&&h.ZERO.subTo(r,r)}}},h.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},h.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},h.prototype.exp=function(t,e){if(t>4294967295||t<1)return h.ONE;var r=c(),n=c(),i=e.convert(this),s=y(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)},h.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<<e)-1,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(r=this[o]>>a)>0&&(i=!0,s=d(r));o>=0;)a<e?(r=(this[o]&(1<<a)-1)<<e-a,r|=this[--o]>>(a+=this.DB-e)):(r=this[o]>>(a-=e)&n,a<=0&&(a+=this.DB,--o)),r>0&&(i=!0),i&&(s+=d(r));return i?s:"0"},h.prototype.negate=function(){var t=c();return h.ZERO.subTo(this,t),t},h.prototype.abs=function(){return this.s<0?this.negate():this},h.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},h.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+y(this[this.t-1]^this.s&this.DM)},h.prototype.mod=function(t){var e=c();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(h.ZERO)>0&&t.subTo(e,e),e},h.prototype.modPowInt=function(t,e){var r;return r=t<256||e.isEven()?new m(e):new x(e),this.exp(t,r)},h.ZERO=v(0),h.ONE=v(1),N.prototype.convert=D,N.prototype.revert=D,N.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r)},N.prototype.sqrTo=function(t,e){t.squareTo(e)},R.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=c();return t.copyTo(e),this.reduce(e),e},R.prototype.revert=function(t){return t},R.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},R.prototype.mulTo=function(t,e,r){t.multiplyTo(e,r),this.reduce(r)},R.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var T=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],C=(1<<26)/T[T.length-1];h.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},h.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=v(r),i=c(),s=c(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o},h.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var u=g(t,a);u<0?"-"==t.charAt(a)&&0==this.signum()&&(i=!0):(o=e*o+u,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0))}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&h.ZERO.subTo(this,this)},h.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(h.ONE.shiftLeft(t-1),S,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(h.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}},h.prototype.bitwiseTo=function(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r[n]=e(this[n],t[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r[n]=e(this[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r[n]=e(i,t[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()},h.prototype.changeBit=function(t,e){var r=h.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r},h.prototype.addTo=function(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this[r]+t[r],e[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this[r],e[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t[r],e[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},h.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},h.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},h.prototype.multiplyLowerTo=function(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i<n;++i)r[i+this.t]=this.am(0,t[i],r,i,0,this.t);for(n=Math.min(t.t,e);i<n;++i)this.am(0,t[i],r,i,0,e-i);r.clamp()},h.prototype.multiplyUpperTo=function(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r[this.t+n-e]=this.am(e-n,t[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)},h.prototype.modInt=function(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},h.prototype.millerRabin=function(t){var e=this.subtract(h.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>T.length&&(t=T.length);for(var i=c(),s=0;s<t;++s){i.fromInt(T[Math.floor(Math.random()*T.length)]);var o=i.modPow(n,this);if(0!=o.compareTo(h.ONE)&&0!=o.compareTo(e)){for(var a=1;a++<r&&0!=o.compareTo(e);)if(0==(o=o.modPowInt(2,this)).compareTo(h.ONE))return!1;if(0!=o.compareTo(e))return!1}}return!0},h.prototype.clone=
|
|
358
|
-
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */
|
|
359
|
-
function(){var t=c();return this.copyTo(t),t},h.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},h.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},h.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},h.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},h.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n<this.DB&&(r=this[t]>>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<<this.DB-n);t>=0;)n<8?(r=(this[t]&(1<<n)-1)<<8-n,r|=this[--t]>>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},h.prototype.equals=function(t){return 0==this.compareTo(t)},h.prototype.min=function(t){return this.compareTo(t)<0?this:t},h.prototype.max=function(t){return this.compareTo(t)>0?this:t},h.prototype.and=function(t){var e=c();return this.bitwiseTo(t,b,e),e},h.prototype.or=function(t){var e=c();return this.bitwiseTo(t,S,e),e},h.prototype.xor=function(t){var e=c();return this.bitwiseTo(t,E,e),e},h.prototype.andNot=function(t){var e=c();return this.bitwiseTo(t,w,e),e},h.prototype.not=function(){for(var t=c(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t},h.prototype.shiftLeft=function(t){var e=c();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e},h.prototype.shiftRight=function(t){var e=c();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e},h.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+A(this[t]);return this.s<0?this.t*this.DB:-1},h.prototype.bitCount=function(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=P(this[r]^e);return t},h.prototype.testBit=function(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:0!=(this[e]&1<<t%this.DB)},h.prototype.setBit=function(t){return this.changeBit(t,S)},h.prototype.clearBit=function(t){return this.changeBit(t,w)},h.prototype.flipBit=function(t){return this.changeBit(t,E)},h.prototype.add=function(t){var e=c();return this.addTo(t,e),e},h.prototype.subtract=function(t){var e=c();return this.subTo(t,e),e},h.prototype.multiply=function(t){var e=c();return this.multiplyTo(t,e),e},h.prototype.divide=function(t){var e=c();return this.divRemTo(t,e,null),e},h.prototype.remainder=function(t){var e=c();return this.divRemTo(t,null,e),e},h.prototype.divideAndRemainder=function(t){var e=c(),r=c();return this.divRemTo(t,e,r),new Array(e,r)},h.prototype.modPow=function(t,e){var r,n,i=t.bitLength(),s=v(1);if(i<=0)return s;r=i<18?1:i<48?3:i<144?4:i<768?5:6,n=i<8?new m(e):e.isEven()?new R(e):new x(e);var o=new Array,a=3,u=r-1,h=(1<<r)-1;if(o[1]=n.convert(this),r>1){var l=c();for(n.sqrTo(o[1],l);a<=h;)o[a]=c(),n.mulTo(l,o[a-2],o[a]),a+=2}var f,p,d=t.t-1,g=!0,b=c();for(i=y(t[d])-1;d>=0;){for(i>=u?f=t[d]>>i-u&h:(f=(t[d]&(1<<i+1)-1)<<u-i,d>0&&(f|=t[d-1]>>this.DB+i-u)),a=r;0==(1&f);)f>>=1,--a;if((i-=a)<0&&(i+=this.DB,--d),g)o[f].copyTo(s),g=!1;else{for(;a>1;)n.sqrTo(s,b),n.sqrTo(b,s),a-=2;a>0?n.sqrTo(s,b):(p=s,s=b,b=p),n.mulTo(b,o[f],s)}for(;d>=0&&0==(t[d]&1<<i);)n.sqrTo(s,b),p=s,s=b,b=p,--i<0&&(i=this.DB-1,--d)}return n.revert(s)},h.prototype.modInverse=function(t){var e=t.isEven();if(this.isEven()&&e||0==t.signum())return h.ZERO;for(var r=t.clone(),n=this.clone(),i=v(1),s=v(0),o=v(0),a=v(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),e?(i.isEven()&&s.isEven()||(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?(o.isEven()&&a.isEven()||(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}return 0!=n.compareTo(h.ONE)?h.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},h.prototype.pow=function(t){return this.exp(t,new N)},h.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r},h.prototype.isProbablePrime=function(t){var e,r=this.abs();if(1==r.t&&r[0]<=T[T.length-1]){for(e=0;e<T.length;++e)if(r[0]==T[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<T.length;){for(var n=T[e],i=e+1;i<T.length&&n<C;)n*=T[i++];for(n=r.modInt(n);e<i;)if(n%T[e++]==0)return!1}return r.millerRabin(t)},h.prototype.square=function(){var t=c();return this.squareTo(t),t};
|
|
360
|
-
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */
|
|
361
|
-
var I="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function O(t){var e,r,n="";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=I.charAt(r>>6)+I.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=I.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=I.charAt(r>>2)+I.charAt((3&r)<<4));(3&n.length)>0;)n+="=";return n}function H(t){var e,r,n,i="",s=0;for(e=0;e<t.length&&"="!=t.charAt(e);++e)(n=I.indexOf(t.charAt(e)))<0||(0==s?(i+=d(n>>2),r=3&n,s=1):1==s?(i+=d(r<<2|n>>4),r=15&n,s=2):2==s?(i+=d(r),i+=d(n>>2),r=3&n,s=3):(i+=d(r<<2|n>>4),i+=d(15&n),s=0));return 1==s&&(i+=d(r<<2)),i}
|
|
362
|
-
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function _(){this.i=0,this.j=0,this.S=new Array}_.prototype.init=function(t){var e,r,n;for(e=0;e<256;++e)this.S[e]=e;for(r=0,e=0;e<256;++e)r=r+this.S[e]+t[e%t.length]&255,n=this.S[e],this.S[e]=this.S[r],this.S[r]=n;this.i=0,this.j=0},_.prototype.next=function(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]};var B,V,j;
|
|
363
|
-
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */function z(){var t;t=(new Date).getTime(),V[j++]^=255&t,V[j++]^=t>>8&255,V[j++]^=t>>16&255,V[j++]^=t>>24&255,j>=256&&(j-=256)}if(null==V){var q;if(V=new Array,j=0,"undefined"!=typeof window&&(void 0!==window.crypto||void 0!==window.msCrypto)){var k=window.crypto||window.msCrypto;if(k.getRandomValues){var K=new Uint8Array(32);for(k.getRandomValues(K),q=0;q<32;++q)V[j++]=K[q]}else if("undefined"!=typeof navigator&&"Netscape"==navigator.appName&&navigator.appVersion<"5"){var L=window.crypto.random(32);for(q=0;q<L.length;++q)V[j++]=255&L.charCodeAt(q)}}for(;j<256;)q=Math.floor(65536*Math.random()),V[j++]=q>>>8,V[j++]=255&q;j=0,z()}function M(){if(null==B){for(z(),(B=new _).init(V),j=0;j<V.length;++j)V[j]=0;j=0}return B.next()}function U(){}
|
|
364
|
-
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */
|
|
365
|
-
function F(t,e){return new h(t,e)}function Y(t,e,r){for(var n="",i=0;n.length<e;)n+=r(String.fromCharCode.apply(String,t.concat([(4278190080&i)>>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function Q(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function Z(t,e,r){for(var n="",i=0;n.length<e;)n+=r(t+String.fromCharCode.apply(String,[(4278190080&i)>>24,(16711680&i)>>16,(65280&i)>>8,255&i])),i+=1;return n}function G(t){for(var e="",r=0;r<t.length;r++){var n=t[r].toString(16);1==n.length&&(n="0"+n),e+=n}return e}function W(t){return G(function(t){for(var e=new Array,r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}(t))}function X(t){return t.length%4==2?t+="==":t.length%4==3&&(t+="="),t=(t=t.replace(/-/g,"+")).replace(/_/g,"/")}function J(t){return t.length%2==1&&(t="0"+t),function(t){return(t=(t=t.replace(/\=/g,"")).replace(/\+/g,"-")).replace(/\//g,"_")}(O(t))}function $(t){return H(X(t))}function tt(t){return function(t){return t.replace(/%/g,"")}(function(t){for(var e=encodeURIComponent(t),r="",n=0;n<e.length;n++)"%"==e[n]?(r+=e.substr(n,3),n+=2):r=r+"%"+W(e[n]);return r}(t))}function et(t){return decodeURIComponent(function(t){return t.replace(/(..)/g,"%$1")}(t))}function rt(t){for(var e="",r=0;r<t.length-1;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e}function nt(t){for(var e="",r=0;r<t.length;r++)e+=("0"+t.charCodeAt(r).toString(16)).slice(-2);return e}function it(t){var e=function(t){return O(t)}(t).replace(/(.{64})/g,"$1\r\n");return e=e.replace(/\r\n$/,"")}function st(t,e){return"-----BEGIN "+e+"-----\r\n"+it(t)+"\r\n-----END "+e+"-----\r\n"}function ot(t,e){if(-1==t.indexOf("-----BEGIN "))throw"can't find PEM header: "+e;return function(t){return H(t.replace(/[^0-9A-Za-z\/+=]*/g,""))}(t=void 0!==e?(t=t.replace(new RegExp("^[^]*-----BEGIN "+e+"-----"),"")).replace(new RegExp("-----END "+e+"-----[^]*$"),""):(t=t.replace(/^[^]*-----BEGIN [^-]+-----/,"")).replace(/-----END [^-]+-----[^]*$/,""))}function at(t){var e="malformed hex value";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?function(t){if(!t.match(/^[0-9A-Fa-f]{32}$/))throw"malformed IPv6 address octet";for(var e=(t=t.toLowerCase()).match(/.{1,4}/g),r=0;r<8;r++)e[r]=e[r].replace(/^0+/,""),""==e[r]&&(e[r]="0");var n=(t=":"+e.join(":")+":").match(/:(0:){2,}/g);if(null===n)return t.slice(1,-1);var i="";for(r=0;r<n.length;r++)n[r].length>i.length&&(i=n[r]);return(t=t.replace(i,"::")).slice(1,-1)}(t):t;try{return parseInt(t.substr(0,2),16)+"."+parseInt(t.substr(2,2),16)+"."+parseInt(t.substr(4,2),16)+"."+parseInt(t.substr(6,2),16)}catch(t){throw e}}function ut(t){return t.match(/.{4}/g).map((function(t){var e=parseInt(t.substr(0,2),16),r=parseInt(t.substr(2),16);if(0==e&r<128)return String.fromCharCode(r);if(e<8){var n=128|63&r;return et((192|(7&e)<<3|(192&r)>>6).toString(16)+n.toString(16))}n=128|(15&e)<<2|(192&r)>>6;var i=128|63&r;return et((224|(240&e)>>4).toString(16)+n.toString(16)+i.toString(16))})).join("")}function ht(t){return!(t.length%2!=0||!t.match(/^[0-9a-f]+$/)&&!t.match(/^[0-9A-F]+$/))}function ct(t){return t.length%2==1?"0"+t:t.substr(0,1)>"7"?"00"+t:t}U.prototype.nextBytes=function(t){var e;for(e=0;e<t.length;++e)t[e]=M()},Q.prototype.doPublic=function(t){return t.modPowInt(this.e,this.n)},Q.prototype.setPublic=function(t,e){if(this.isPublic=!0,this.isPrivate=!1,"string"!=typeof t)this.n=t,this.e=e;else{if(!(null!=t&&null!=e&&t.length>0&&e.length>0))throw"Invalid RSA public key";this.n=F(t,16),this.e=parseInt(e,16)}},Q.prototype.encrypt=function(t){var e=function(t,e){if(e<t.length+11)throw"Message too long for RSA";for(var r=new Array,n=t.length-1;n>=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var s=new U,o=new Array;e>2;){for(o[0]=0;0==o[0];)s.nextBytes(o);r[--e]=o[0]}return r[--e]=2,r[--e]=0,new h(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var r=this.doPublic(e);if(null==r)return null;var n=r.toString(16);return 0==(1&n.length)?n:"0"+n},Q.prototype.encryptOAEP=function(t,e,r){var n=function(t,e,r,n){var i=o.crypto.MessageDigest,s=o.crypto.Util,a=null;if(r||(r="sha1"),"string"==typeof r&&(a=i.getCanonicalAlgName(r),n=i.getHashLength(a),r=function(t){return rt(s.hashHex(nt(t),a))}),t.length+2*n+2>e)throw"Message too long for RSA";var u,c="";for(u=0;u<e-t.length-2*n-2;u+=1)c+="\0";var l=r("")+c+""+t,f=new Array(n);(new U).nextBytes(f);var p=Y(f,l.length,r),d=[];for(u=0;u<l.length;u+=1)d[u]=l.charCodeAt(u)^p.charCodeAt(u);var g=Y(d,f.length,r),v=[0];for(u=0;u<f.length;u+=1)v[u+1]=f[u]^g.charCodeAt(u);return new h(v.concat(d))}(t,this.n.bitLength()+7>>3,e,r);if(null==n)return null;var i=this.doPublic(n);if(null==i)return null;var s=i.toString(16);return 0==(1&s.length)?s:"0"+s},Q.prototype.type="RSA",Q.prototype.doPrivate=function(t){if(null==this.p||null==this.q)return t.modPow(this.d,this.n);for(var e=t.mod(this.p).modPow(this.dmp1,this.p),r=t.mod(this.q).modPow(this.dmq1,this.q);e.compareTo(r)<0;)e=e.add(this.p);return e.subtract(r).multiply(this.coeff).mod(this.p).multiply(this.q).add(r)},Q.prototype.setPrivate=function(t,e,r){if(this.isPrivate=!0,"string"!=typeof t)this.n=t,this.e=e,this.d=r;else{if(!(null!=t&&null!=e&&t.length>0&&e.length>0))throw"Invalid RSA private key";this.n=F(t,16),this.e=parseInt(e,16),this.d=F(r,16)}},Q.prototype.setPrivateEx=function(t,e,r,n,i,s,o,a){if(this.isPrivate=!0,this.isPublic=!1,null==t)throw"RSASetPrivateEx N == null";if(null==e)throw"RSASetPrivateEx E == null";if(0==t.length)throw"RSASetPrivateEx N.length == 0";if(0==e.length)throw"RSASetPrivateEx E.length == 0";if(!(null!=t&&null!=e&&t.length>0&&e.length>0))throw"Invalid RSA private key in RSASetPrivateEx";this.n=F(t,16),this.e=parseInt(e,16),this.d=F(r,16),this.p=F(n,16),this.q=F(i,16),this.dmp1=F(s,16),this.dmq1=F(o,16),this.coeff=F(a,16)},Q.prototype.generate=function(t,e){var r=new U,n=t>>1;this.e=parseInt(e,16);for(var i=new h(e,16);;){for(;this.p=new h(t-n,1,r),0!=this.p.subtract(h.ONE).gcd(i).compareTo(h.ONE)||!this.p.isProbablePrime(10););for(;this.q=new h(n,1,r),0!=this.q.subtract(h.ONE).gcd(i).compareTo(h.ONE)||!this.q.isProbablePrime(10););if(this.p.compareTo(this.q)<=0){var s=this.p;this.p=this.q,this.q=s}var o=this.p.subtract(h.ONE),a=this.q.subtract(h.ONE),u=o.multiply(a);if(0==u.gcd(i).compareTo(h.ONE)&&(this.n=this.p.multiply(this.q),this.n.bitLength()==t)){this.d=i.modInverse(u),this.dmp1=this.d.mod(o),this.dmq1=this.d.mod(a),this.coeff=this.q.modInverse(this.p);break}}this.isPrivate=!0},Q.prototype.decrypt=function(t){if(t.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var e=F(t,16),r=this.doPrivate(e);return null==r?null:
|
|
366
|
-
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/ */
|
|
367
|
-
function(t,e){for(var r=t.toByteArray(),n=0;n<r.length&&0==r[n];)++n;if(r.length-n!=e-1||2!=r[n])return null;for(++n;0!=r[n];)if(++n>=r.length)return null;for(var i="";++n<r.length;){var s=255&r[n];s<128?i+=String.fromCharCode(s):s>191&&s<224?(i+=String.fromCharCode((31&s)<<6|63&r[n+1]),++n):(i+=String.fromCharCode((15&s)<<12|(63&r[n+1])<<6|63&r[n+2]),n+=2)}return i}(r,this.n.bitLength()+7>>3)},Q.prototype.decryptOAEP=function(t,e,r){if(t.length!=Math.ceil(this.n.bitLength()/4))throw new Error("wrong ctext length");var n=F(t,16),i=this.doPrivate(n);return null==i?null:function(t,e,r,n){var i=o.crypto.MessageDigest,s=o.crypto.Util,a=null;for(r||(r="sha1"),"string"==typeof r&&(a=i.getCanonicalAlgName(r),n=i.getHashLength(a),r=function(t){return rt(s.hashHex(nt(t),a))}),t=t.toByteArray(),u=0;u<t.length;u+=1)t[u]&=255;for(;t.length<e;)t.unshift(0);if((t=String.fromCharCode.apply(String,t)).length<2*n+2)throw"Cipher too short";var u,h=t.substr(1,n),c=t.substr(n+1),l=Z(c,n,r),f=[];for(u=0;u<h.length;u+=1)f[u]=h.charCodeAt(u)^l.charCodeAt(u);var p=Z(String.fromCharCode.apply(String,f),t.length-n,r),d=[];for(u=0;u<c.length;u+=1)d[u]=c.charCodeAt(u)^p.charCodeAt(u);if((d=String.fromCharCode.apply(String,d)).substr(0,n)!==r(""))throw"Hash mismatch";var g=(d=d.substr(n)).indexOf("");if((-1!=g?d.substr(0,g).lastIndexOf("\0"):-1)+1!=g)throw"Malformed data";return d.substr(g+1)}(i,this.n.bitLength()+7>>3,e,r)},void 0!==o.lang&&o.lang||(o.lang={}),o.lang.String=function(){},o.lang.String.isInteger=function(t){return!!t.match(/^[0-9]+$/)||!!t.match(/^-[0-9]+$/)},o.lang.String.isHex=function(t){return ht(t)},o.lang.String.isBase64=function(t){return!(!(t=t.replace(/\s+/g,"")).match(/^[0-9A-Za-z+\/]+={0,3}$/)||t.length%4!=0)},o.lang.String.isBase64URL=function(t){return!t.match(/[+/=]/)&&(t=X(t),o.lang.String.isBase64(t))},o.lang.String.isIntegerArray=function(t){return!!(t=t.replace(/\s+/g,"")).match(/^\[[0-9,]+\]$/)},o.lang.String.isPrintable=function(t){return null!==t.match(/^[0-9A-Za-z '()+,-./:=?]*$/)},o.lang.String.isIA5=function(t){return null!==t.match(/^[\x20-\x21\x23-\x7f]*$/)},o.lang.String.isMail=function(t){return null!==t.match(/^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/)};var lt=function(t,e,r){return null==r&&(r="0"),t.length>=e?t:new Array(e-t.length+1).join(r)+t};function ft(t,e){var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t,t.superclass=e.prototype,e.prototype.constructor==Object.prototype.constructor&&(e.prototype.constructor=e)}void 0!==o.crypto&&o.crypto||(o.crypto={}),o.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},this.DEFAULTPROVIDER={md5:"cryptojs",sha1:"cryptojs",sha224:"cryptojs",sha256:"cryptojs",sha384:"cryptojs",sha512:"cryptojs",ripemd160:"cryptojs",hmacmd5:"cryptojs",hmacsha1:"cryptojs",hmacsha224:"cryptojs",hmacsha256:"cryptojs",hmacsha384:"cryptojs",hmacsha512:"cryptojs",hmacripemd160:"cryptojs",MD5withRSA:"cryptojs/jsrsa",SHA1withRSA:"cryptojs/jsrsa",SHA224withRSA:"cryptojs/jsrsa",SHA256withRSA:"cryptojs/jsrsa",SHA384withRSA:"cryptojs/jsrsa",SHA512withRSA:"cryptojs/jsrsa",RIPEMD160withRSA:"cryptojs/jsrsa",MD5withECDSA:"cryptojs/jsrsa",SHA1withECDSA:"cryptojs/jsrsa",SHA224withECDSA:"cryptojs/jsrsa",SHA256withECDSA:"cryptojs/jsrsa",SHA384withECDSA:"cryptojs/jsrsa",SHA512withECDSA:"cryptojs/jsrsa",RIPEMD160withECDSA:"cryptojs/jsrsa",SHA1withDSA:"cryptojs/jsrsa",SHA224withDSA:"cryptojs/jsrsa",SHA256withDSA:"cryptojs/jsrsa",MD5withRSAandMGF1:"cryptojs/jsrsa",SHAwithRSAandMGF1:"cryptojs/jsrsa",SHA1withRSAandMGF1:"cryptojs/jsrsa",SHA224withRSAandMGF1:"cryptojs/jsrsa",SHA256withRSAandMGF1:"cryptojs/jsrsa",SHA384withRSAandMGF1:"cryptojs/jsrsa",SHA512withRSAandMGF1:"cryptojs/jsrsa",RIPEMD160withRSAandMGF1:"cryptojs/jsrsa"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:u.algo.MD5,sha1:u.algo.SHA1,sha224:u.algo.SHA224,sha256:u.algo.SHA256,sha384:u.algo.SHA384,sha512:u.algo.SHA512,ripemd160:u.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw"alg not supported in Util.DIGESTINFOHEAD: "+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw"key is too short for SigAlg: keylen="+r+","+e;for(var s="0001",o="00"+n,a="",u=i-s.length-o.length,h=0;h<u;h+=2)a+="ff";return s+a+o},this.hashString=function(t,e){return new o.crypto.MessageDigest({alg:e}).digestString(t)},this.hashHex=function(t,e){return new o.crypto.MessageDigest({alg:e}).digestHex(t)},this.sha1=function(t){return this.hashString(t,"sha1")},this.sha256=function(t){return this.hashString(t,"sha256")},this.sha256Hex=function(t){return this.hashHex(t,"sha256")},this.sha512=function(t){return this.hashString(t,"sha512")},this.sha512Hex=function(t){return this.hashHex(t,"sha512")},this.isKey=function(t){return t instanceof Q||t instanceof o.crypto.DSA||t instanceof o.crypto.ECDSA}},o.crypto.Util.md5=function(t){return new o.crypto.MessageDigest({alg:"md5",prov:"cryptojs"}).digestString(t)},o.crypto.Util.ripemd160=function(t){return new o.crypto.MessageDigest({alg:"ripemd160",prov:"cryptojs"}).digestString(t)},o.crypto.Util.SECURERANDOMGEN=new U,o.crypto.Util.getRandomHexOfNbytes=function(t){var e=new Array(t);return o.crypto.Util.SECURERANDOMGEN.nextBytes(e),G(e)},o.crypto.Util.getRandomBigIntegerOfNbytes=function(t){return new h(o.crypto.Util.getRandomHexOfNbytes(t),16)},o.crypto.Util.getRandomHexOfNbits=function(t){var e=t%8,r=new Array((t-e)/8+1);return o.crypto.Util.SECURERANDOMGEN.nextBytes(r),r[0]=(255<<e&255^255)&r[0],G(r)},o.crypto.Util.getRandomBigIntegerOfNbits=function(t){return new h(o.crypto.Util.getRandomHexOfNbits(t),16)},o.crypto.Util.getRandomBigIntegerZeroToMax=function(t){for(var e=t.bitLength();;){var r=o.crypto.Util.getRandomBigIntegerOfNbits(e);if(-1!=t.compareTo(r))return r}},o.crypto.Util.getRandomBigIntegerMinToMax=function(t,e){var r=t.compareTo(e);if(1==r)throw"biMin is greater than biMax";if(0==r)return t;var n=e.subtract(t);return o.crypto.Util.getRandomBigIntegerZeroToMax(n).add(t)},o.crypto.MessageDigest=function(t){this.setAlgAndProvider=function(t,e){if(null!==(t=o.crypto.MessageDigest.getCanonicalAlgName(t))&&void 0===e&&(e=o.crypto.Util.DEFAULTPROVIDER[t]),-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(t)&&"cryptojs"==e){try{this.md=o.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[t].create()}catch(e){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+e}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){var e=u.enc.Hex.parse(t);this.md.update(e)},this.digest=function(){return this.md.finalize().toString(u.enc.Hex)},this.digestString=function(t){return this.updateString(t),this.digest()},this.digestHex=function(t){return this.updateHex(t),this.digest()}}if(-1!=":sha256:".indexOf(t)&&"sjcl"==e){try{this.md=new sjcl.hash.sha256}catch(e){throw"setAlgAndProvider hash alg set fail alg="+t+"/"+e}this.updateString=function(t){this.md.update(t)},this.updateHex=function(t){var e=sjcl.codec.hex.toBits(t);this.md.update(e)},this.digest=function(){var t=this.md.finalize();return sjcl.codec.hex.fromBits(t)},this.digestString=function(t){return this.updateString(t),this.digest()},this.digestHex=function(t){return this.updateHex(t),this.digest()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digest=function(){throw"digest() not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algName+"/"+this.provName},this.digestHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algName+"/"+this.provName},void 0!==t&&void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov&&(this.provName=o.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName))},o.crypto.MessageDigest.getCanonicalAlgName=function(t){return"string"==typeof t&&(t=(t=t.toLowerCase()).replace(/-/,"")),t},o.crypto.MessageDigest.getHashLength=function(t){var e=o.crypto.MessageDigest,r=e.getCanonicalAlgName(t);if(void 0===e.HASHLENGTH[r])throw"not supported algorithm: "+t;return e.HASHLENGTH[r]},o.crypto.MessageDigest.HASHLENGTH={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,ripemd160:20},o.crypto.Mac=function(t){this.setAlgAndProvider=function(t,e){if(null==(t=t.toLowerCase())&&(t="hmacsha1"),"hmac"!=(t=t.toLowerCase()).substr(0,4))throw"setAlgAndProvider unsupported HMAC alg: "+t;void 0===e&&(e=o.crypto.Util.DEFAULTPROVIDER[t]),this.algProv=t+"/"+e;var r=t.substr(4);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(r)&&"cryptojs"==e){try{var n=o.crypto.Util.CRYPTOJSMESSAGEDIGESTNAME[r];this.mac=u.algo.HMAC.create(n,this.pass)}catch(t){throw"setAlgAndProvider hash alg set fail hashAlg="+r+"/"+t}this.updateString=function(t){this.mac.update(t)},this.updateHex=function(t){var e=u.enc.Hex.parse(t);this.mac.update(e)},this.doFinal=function(){return this.mac.finalize().toString(u.enc.Hex)},this.doFinalString=function(t){return this.updateString(t),this.doFinal()},this.doFinalHex=function(t){return this.updateHex(t),this.doFinal()}}},this.updateString=function(t){throw"updateString(str) not supported for this alg/prov: "+this.algProv},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg/prov: "+this.algProv},this.doFinal=function(){throw"digest() not supported for this alg/prov: "+this.algProv},this.doFinalString=function(t){throw"digestString(str) not supported for this alg/prov: "+this.algProv},this.doFinalHex=function(t){throw"digestHex(hex) not supported for this alg/prov: "+this.algProv},this.setPassword=function(t){if("string"==typeof t){var e=t;return t.length%2!=1&&t.match(/^[0-9A-Fa-f]+$/)||(e=nt(t)),void(this.pass=u.enc.Hex.parse(e))}if("object"!=typeof t)throw"KJUR.crypto.Mac unsupported password type: "+t;e=null;if(void 0!==t.hex){if(t.hex.length%2!=0||!t.hex.match(/^[0-9A-Fa-f]+$/))throw"Mac: wrong hex password: "+t.hex;e=t.hex}if(void 0!==t.utf8&&(e=tt(t.utf8)),void 0!==t.rstr&&(e=nt(t.rstr)),void 0!==t.b64&&(e=H(t.b64)),void 0!==t.b64u&&(e=$(t.b64u)),null==e)throw"KJUR.crypto.Mac unsupported password type: "+t;this.pass=u.enc.Hex.parse(e)},void 0!==t&&(void 0!==t.pass&&this.setPassword(t.pass),void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov&&(this.provName=o.crypto.Util.DEFAULTPROVIDER[this.algName]),this.setAlgAndProvider(this.algName,this.provName)))},o.crypto.Signature=function(t){var e=null;if(this._setAlgNames=function(){var t=this.algName.match(/^(.+)with(.+)$/);t&&(this.mdAlgName=t[1].toLowerCase(),this.pubkeyAlgName=t[2].toLowerCase(),"rsaandmgf1"==this.pubkeyAlgName&&"sha"==this.mdAlgName&&(this.mdAlgName="sha1"))},this._zeroPaddingOfSignature=function(t,e){for(var r="",n=e/4-t.length,i=0;i<n;i++)r+="0";return r+t},this.setAlgAndProvider=function(t,e){if(this._setAlgNames(),"cryptojs/jsrsa"!=e)throw new Error("provider not supported: "+e);if(-1!=":md5:sha1:sha224:sha256:sha384:sha512:ripemd160:".indexOf(this.mdAlgName)){try{this.md=new o.crypto.MessageDigest({alg:this.mdAlgName})}catch(t){throw new Error("setAlgAndProvider hash alg set fail alg="+this.mdAlgName+"/"+t)}this.init=function(t,e){var r=null;try{r=void 0===e?St.getKey(t):St.getKey(t,e)}catch(t){throw"init failed:"+t}if(!0===r.isPrivate)this.prvKey=r,this.state="SIGN";else{if(!0!==r.isPublic)throw"init failed.:"+r;this.pubKey=r,this.state="VERIFY"}},this.updateString=function(t){this.md.updateString(t)},this.updateHex=function(t){this.md.updateHex(t)},this.sign=function(){if(this.sHashHex=this.md.digest(),void 0===this.prvKey&&void 0!==this.ecprvhex&&void 0!==this.eccurvename&&void 0!==o.crypto.ECDSA&&(this.prvKey=new o.crypto.ECDSA({curve:this.eccurvename,prv:this.ecprvhex})),this.prvKey instanceof Q&&"rsaandmgf1"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHashPSS(this.sHashHex,this.mdAlgName,this.pssSaltLen);else if(this.prvKey instanceof Q&&"rsa"===this.pubkeyAlgName)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex,this.mdAlgName);else if(this.prvKey instanceof o.crypto.ECDSA)this.hSign=this.prvKey.signWithMessageHash(this.sHashHex);else{if(!(this.prvKey instanceof o.crypto.DSA))throw"Signature: unsupported private key alg: "+this.pubkeyAlgName;this.hSign=this.prvKey.signWithMessageHash(this.sHashHex)}return this.hSign},this.signString=function(t){return this.updateString(t),this.sign()},this.signHex=function(t){return this.updateHex(t),this.sign()},this.verify=function(t){if(this.sHashHex=this.md.digest(),void 0===this.pubKey&&void 0!==this.ecpubhex&&void 0!==this.eccurvename&&void 0!==o.crypto.ECDSA&&(this.pubKey=new o.crypto.ECDSA({curve:this.eccurvename,pub:this.ecpubhex})),this.pubKey instanceof Q&&"rsaandmgf1"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHashPSS(this.sHashHex,t,this.mdAlgName,this.pssSaltLen);if(this.pubKey instanceof Q&&"rsa"===this.pubkeyAlgName)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);if(void 0!==o.crypto.ECDSA&&this.pubKey instanceof o.crypto.ECDSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);if(void 0!==o.crypto.DSA&&this.pubKey instanceof o.crypto.DSA)return this.pubKey.verifyWithMessageHash(this.sHashHex,t);throw"Signature: unsupported public key alg: "+this.pubkeyAlgName}}},this.init=function(t,e){throw"init(key, pass) not supported for this alg:prov="+this.algProvName},this.updateString=function(t){throw"updateString(str) not supported for this alg:prov="+this.algProvName},this.updateHex=function(t){throw"updateHex(hex) not supported for this alg:prov="+this.algProvName},this.sign=function(){throw"sign() not supported for this alg:prov="+this.algProvName},this.signString=function(t){throw"digestString(str) not supported for this alg:prov="+this.algProvName},this.signHex=function(t){throw"digestHex(hex) not supported for this alg:prov="+this.algProvName},this.verify=function(t){throw"verify(hSigVal) not supported for this alg:prov="+this.algProvName},this.initParams=t,void 0!==t&&(void 0!==t.alg&&(this.algName=t.alg,void 0===t.prov?this.provName=o.crypto.Util.DEFAULTPROVIDER[this.algName]:this.provName=t.prov,this.algProvName=this.algName+":"+this.provName,this.setAlgAndProvider(this.algName,this.provName),this._setAlgNames()),void 0!==t.psssaltlen&&(this.pssSaltLen=t.psssaltlen),void 0!==t.prvkeypem)){if(void 0!==t.prvkeypas)throw"both prvkeypem and prvkeypas parameters not supported";try{e=St.getKey(t.prvkeypem);this.init(e)}catch(t){throw"fatal error to load pem private key: "+t}}},o.crypto.Cipher=function(t){},o.crypto.Cipher.encrypt=function(t,e,r){if(e instanceof Q&&e.isPublic){var n=o.crypto.Cipher.getAlgByKeyAndName(e,r);if("RSA"===n)return e.encrypt(t);if("RSAOAEP"===n)return e.encryptOAEP(t,"sha1");var i=n.match(/^RSAOAEP(\d+)$/);if(null!==i)return e.encryptOAEP(t,"sha"+i[1]);throw"Cipher.encrypt: unsupported algorithm for RSAKey: "+r}throw"Cipher.encrypt: unsupported key or algorithm"},o.crypto.Cipher.decrypt=function(t,e,r){if(e instanceof Q&&e.isPrivate){var n=o.crypto.Cipher.getAlgByKeyAndName(e,r);if("RSA"===n)return e.decrypt(t);if("RSAOAEP"===n)return e.decryptOAEP(t,"sha1");var i=n.match(/^RSAOAEP(\d+)$/);if(null!==i)return e.decryptOAEP(t,"sha"+i[1]);throw"Cipher.decrypt: unsupported algorithm for RSAKey: "+r}throw"Cipher.decrypt: unsupported key or algorithm"},o.crypto.Cipher.getAlgByKeyAndName=function(t,e){if(t instanceof Q){if(-1!=":RSA:RSAOAEP:RSAOAEP224:RSAOAEP256:RSAOAEP384:RSAOAEP512:".indexOf(e))return e;if(null==e)return"RSA";throw"getAlgByKeyAndName: not supported algorithm name for RSAKey: "+e}throw"getAlgByKeyAndName: not supported algorithm name: "+e},o.crypto.OID=new function(){this.oidhex2name={"2a864886f70d010101":"rsaEncryption","2a8648ce3d0201":"ecPublicKey","2a8648ce380401":"dsa","2a8648ce3d030107":"secp256r1","2b8104001f":"secp192k1","2b81040021":"secp224r1","2b8104000a":"secp256k1","2b81040023":"secp521r1","2b81040022":"secp384r1","2a8648ce380403":"SHA1withDSA","608648016503040301":"SHA224withDSA","608648016503040302":"SHA256withDSA"}};var pt,dt,gt,vt,yt,mt,xt,bt,St=(pt=function(t,e,r){return dt(u.AES,t,e,r)},dt=function(t,e,r,n){var i=u.enc.Hex.parse(e),s=u.enc.Hex.parse(r),o=u.enc.Hex.parse(n),a={};a.key=s,a.iv=o,a.ciphertext=i;var h=t.decrypt(a,s,{iv:o});return u.enc.Hex.stringify(h)},gt=function(t,e,r){return vt(u.AES,t,e,r)},vt=function(t,e,r,n){var i=u.enc.Hex.parse(e),s=u.enc.Hex.parse(r),o=u.enc.Hex.parse(n),a=t.encrypt(i,s,{iv:o}),h=u.enc.Hex.parse(a.toString());return u.enc.Base64.stringify(h)},yt={"AES-256-CBC":{proc:pt,eproc:gt,keylen:32,ivlen:16},"AES-192-CBC":{proc:pt,eproc:gt,keylen:24,ivlen:16},"AES-128-CBC":{proc:pt,eproc:gt,keylen:16,ivlen:16},"DES-EDE3-CBC":{proc:function(t,e,r){return dt(u.TripleDES,t,e,r)},eproc:function(t,e,r){return vt(u.TripleDES,t,e,r)},keylen:24,ivlen:8},"DES-CBC":{proc:function(t,e,r){return dt(u.DES,t,e,r)},eproc:function(t,e,r){return vt(u.DES,t,e,r)},keylen:8,ivlen:8}},mt=function(t){var e={},r=t.match(new RegExp("DEK-Info: ([^,]+),([0-9A-Fa-f]+)","m"));r&&(e.cipher=r[1],e.ivsalt=r[2]);var n=t.match(new RegExp("-----BEGIN ([A-Z]+) PRIVATE KEY-----"));n&&(e.type=n[1]);var i=-1,s=0;-1!=t.indexOf("\r\n\r\n")&&(i=t.indexOf("\r\n\r\n"),s=2),-1!=t.indexOf("\n\n")&&(i=t.indexOf("\n\n"),s=1);var o=t.indexOf("-----END");if(-1!=i&&-1!=o){var a=t.substring(i+2*s,o-s);a=a.replace(/\s+/g,""),e.data=a}return e},xt=function(t,e,r){for(var n=r.substring(0,16),i=u.enc.Hex.parse(n),s=u.enc.Utf8.parse(e),o=yt[t].keylen+yt[t].ivlen,a="",h=null;;){var c=u.algo.MD5.create();if(null!=h&&c.update(h),c.update(s),c.update(i),h=c.finalize(),(a+=u.enc.Hex.stringify(h)).length>=2*o)break}var l={};return l.keyhex=a.substr(0,2*yt[t].keylen),l.ivhex=a.substr(2*yt[t].keylen,2*yt[t].ivlen),l},bt=function(t,e,r,n){var i=u.enc.Base64.parse(t),s=u.enc.Hex.stringify(i);return(0,yt[e].proc)(s,r,n)},{version:"1.0.0",parsePKCS5PEM:function(t){return mt(t)},getKeyAndUnusedIvByPasscodeAndIvsalt:function(t,e,r){return xt(t,e,r)},decryptKeyB64:function(t,e,r,n){return bt(t,e,r,n)},getDecryptedKeyHex:function(t,e){var r=mt(t),n=r.cipher,i=r.ivsalt,s=r.data,o=xt(n,e,i).keyhex;return bt(s,n,o,i)},getEncryptedPKCS5PEMFromPrvKeyHex:function(t,e,r,n,i){var s="";if(void 0!==n&&null!=n||(n="AES-256-CBC"),void 0===yt[n])throw"KEYUTIL unsupported algorithm: "+n;if(void 0===i||null==i){var o=function(t){var e=u.lib.WordArray.random(t);return u.enc.Hex.stringify(e)}(yt[n].ivlen);i=o.toUpperCase()}var a=function(t,e,r,n){return(0,yt[e].eproc)(t,r,n)}(e,n,xt(n,r,i).keyhex,i);return s="-----BEGIN "+t+" PRIVATE KEY-----\r\n",s+="Proc-Type: 4,ENCRYPTED\r\n",s+="DEK-Info: "+n+","+i+"\r\n",s+="\r\n",s+=a.replace(/(.{64})/g,"$1\r\n"),s+="\r\n-----END "+t+" PRIVATE KEY-----\r\n"},parseHexOfEncryptedPKCS8:function(t){var e=Et,r=e.getChildIdx,n=e.getV,i={},s=r(t,0);if(2!=s.length)throw"malformed format: SEQUENCE(0).items != 2: "+s.length;i.ciphertext=n(t,s[1]);var o=r(t,s[0]);if(2!=o.length)throw"malformed format: SEQUENCE(0.0).items != 2: "+o.length;if("2a864886f70d01050d"!=n(t,o[0]))throw"this only supports pkcs5PBES2";var a=r(t,o[1]);if(2!=o.length)throw"malformed format: SEQUENCE(0.0.1).items != 2: "+a.length;var u=r(t,a[1]);if(2!=u.length)throw"malformed format: SEQUENCE(0.0.1.1).items != 2: "+u.length;if("2a864886f70d0307"!=n(t,u[0]))throw"this only supports TripleDES";i.encryptionSchemeAlg="TripleDES",i.encryptionSchemeIV=n(t,u[1]);var h=r(t,a[0]);if(2!=h.length)throw"malformed format: SEQUENCE(0.0.1.0).items != 2: "+h.length;if("2a864886f70d01050c"!=n(t,h[0]))throw"this only supports pkcs5PBKDF2";var c=r(t,h[1]);if(c.length<2)throw"malformed format: SEQUENCE(0.0.1.0.1).items < 2: "+c.length;i.pbkdf2Salt=n(t,c[0]);var l=n(t,c[1]);try{i.pbkdf2Iter=parseInt(l,16)}catch(t){throw"malformed format pbkdf2Iter: "+l}return i},getPBKDF2KeyHexFromParam:function(t,e){var r=u.enc.Hex.parse(t.pbkdf2Salt),n=t.pbkdf2Iter,i=u.PBKDF2(e,r,{keySize:6,iterations:n});return u.enc.Hex.stringify(i)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function(t,e){var r=ot(t,"ENCRYPTED PRIVATE KEY"),n=this.parseHexOfEncryptedPKCS8(r),i=St.getPBKDF2KeyHexFromParam(n,e),s={};s.ciphertext=u.enc.Hex.parse(n.ciphertext);var o=u.enc.Hex.parse(i),a=u.enc.Hex.parse(n.encryptionSchemeIV),h=u.TripleDES.decrypt(s,o,{iv:a});return u.enc.Hex.stringify(h)},getKeyFromEncryptedPKCS8PEM:function(t,e){var r=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(t,e);return this.getKeyFromPlainPrivatePKCS8Hex(r)},parsePlainPrivatePKCS8Hex:function(t){var e=Et,r=e.getChildIdx,n=e.getV,i={algparam:null};if("30"!=t.substr(0,2))throw new Error("malformed plain PKCS8 private key(code:001)");var s=r(t,0);if(s.length<3)throw new Error("malformed plain PKCS8 private key(code:002)");if("30"!=t.substr(s[1],2))throw new Error("malformed PKCS8 private key(code:003)");var o=r(t,s[1]);if(2!=o.length)throw new Error("malformed PKCS8 private key(code:004)");if("06"!=t.substr(o[0],2))throw new Error("malformed PKCS8 private key(code:005)");if(i.algoid=n(t,o[0]),"06"==t.substr(o[1],2)&&(i.algparam=n(t,o[1])),"04"!=t.substr(s[2],2))throw new Error("malformed PKCS8 private key(code:006)");return i.keyidx=e.getVidx(t,s[2]),i},getKeyFromPlainPrivatePKCS8PEM:function(t){var e=ot(t,"PRIVATE KEY");return this.getKeyFromPlainPrivatePKCS8Hex(e)},getKeyFromPlainPrivatePKCS8Hex:function(t){var e,r=this.parsePlainPrivatePKCS8Hex(t);if("2a864886f70d010101"==r.algoid)e=new Q;else if("2a8648ce380401"==r.algoid)e=new o.crypto.DSA;else{if("2a8648ce3d0201"!=r.algoid)throw"unsupported private key algorithm";e=new o.crypto.ECDSA}return e.readPKCS8PrvKeyHex(t),e},_getKeyFromPublicPKCS8Hex:function(t){var e,r=Et.getVbyList(t,0,[0,0],"06");if("2a864886f70d010101"===r)e=new Q;else if("2a8648ce380401"===r)e=new o.crypto.DSA;else{if("2a8648ce3d0201"!==r)throw"unsupported PKCS#8 public key hex";e=new o.crypto.ECDSA}return e.readPKCS8PubKeyHex(t),e},parsePublicRawRSAKeyHex:function(t){var e=Et,r=e.getChildIdx,n=e.getV,i={};if("30"!=t.substr(0,2))throw"malformed RSA key(code:001)";var s=r(t,0);if(2!=s.length)throw"malformed RSA key(code:002)";if("02"!=t.substr(s[0],2))throw"malformed RSA key(code:003)";if(i.n=n(t,s[0]),"02"!=t.substr(s[1],2))throw"malformed RSA key(code:004)";return i.e=n(t,s[1]),i},parsePublicPKCS8Hex:function(t){var e=Et,r=e.getChildIdx,n=e.getV,i={algparam:null},s=r(t,0);if(2!=s.length)throw"outer DERSequence shall have 2 elements: "+s.length;var o=s[0];if("30"!=t.substr(o,2))throw"malformed PKCS8 public key(code:001)";var a=r(t,o);if(2!=a.length)throw"malformed PKCS8 public key(code:002)";if("06"!=t.substr(a[0],2))throw"malformed PKCS8 public key(code:003)";if(i.algoid=n(t,a[0]),"06"==t.substr(a[1],2)?i.algparam=n(t,a[1]):"30"==t.substr(a[1],2)&&(i.algparam={},i.algparam.p=e.getVbyList(t,a[1],[0],"02"),i.algparam.q=e.getVbyList(t,a[1],[1],"02"),i.algparam.g=e.getVbyList(t,a[1],[2],"02")),"03"!=t.substr(s[1],2))throw"malformed PKCS8 public key(code:004)";return i.key=n(t,s[1]).substr(2),i}});St.getKey=function(t,e,r){var n=(m=Et).getChildIdx;m.getV;var i=m.getVbyList,s=o.crypto,a=s.ECDSA,u=s.DSA,c=Q,l=ot,f=St;if(void 0!==c&&t instanceof c)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==u&&t instanceof u)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new a({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new a({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(T=new c).setPublic(t.n,t.e),T;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(T=new c).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),T;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(T=new c).setPrivate(t.n,t.e,t.d),T;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(T=new u).setPublic(t.p,t.q,t.g,t.y),T;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(T=new u).setPrivate(t.p,t.q,t.g,t.y,t.x),T;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(T=new c).setPublic($(t.n),$(t.e)),T;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(T=new c).setPrivateEx($(t.n),$(t.e),$(t.d),$(t.p),$(t.q),$(t.dp),$(t.dq),$(t.qi)),T;if("RSA"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(T=new c).setPrivate($(t.n),$(t.e),$(t.d)),T;if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var p=(R=new a({curve:t.crv})).ecparams.keylen/4,d="04"+("0000000000"+$(t.x)).slice(-p)+("0000000000"+$(t.y)).slice(-p);return R.setPublicKeyHex(d),R}if("EC"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){p=(R=new a({curve:t.crv})).ecparams.keylen/4,d="04"+("0000000000"+$(t.x)).slice(-p)+("0000000000"+$(t.y)).slice(-p);var g=("0000000000"+$(t.d)).slice(-p);return R.setPublicKeyHex(d),R.setPrivateKeyHex(g),R}if("pkcs5prv"===r){var v,y=t,m=Et;if(9===(v=n(y,0)).length)(T=new c).readPKCS5PrvKeyHex(y);else if(6===v.length)(T=new u).readPKCS5PrvKeyHex(y);else{if(!(v.length>2&&"04"===y.substr(v[1],2)))throw"unsupported PKCS#1/5 hexadecimal key";(T=new a).readPKCS5PrvKeyHex(y)}return T}if("pkcs8prv"===r)return T=f.getKeyFromPlainPrivatePKCS8Hex(t);if("pkcs8pub"===r)return f._getKeyFromPublicPKCS8Hex(t);if("x509pub"===r)return Nt.getPublicKeyFromCertHex(t);if(-1!=t.indexOf("-END CERTIFICATE-",0)||-1!=t.indexOf("-END X509 CERTIFICATE-",0)||-1!=t.indexOf("-END TRUSTED CERTIFICATE-",0))return Nt.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf("-END PUBLIC KEY-")){var x=ot(t,"PUBLIC KEY");return f._getKeyFromPublicPKCS8Hex(x)}if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var b=l(t,"RSA PRIVATE KEY");return f.getKey(b,null,"pkcs5prv")}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){var S=i(O=l(t,"DSA PRIVATE KEY"),0,[1],"02"),E=i(O,0,[2],"02"),w=i(O,0,[3],"02"),A=i(O,0,[4],"02"),P=i(O,0,[5],"02");return(T=new u).setPrivate(new h(S,16),new h(E,16),new h(w,16),new h(A,16),new h(P,16)),T}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1==t.indexOf("4,ENCRYPTED")){b=l(t,"EC PRIVATE KEY");return f.getKey(b,null,"pkcs5prv")}if(-1!=t.indexOf("-END PRIVATE KEY-"))return f.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf("-END RSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var N=f.getDecryptedKeyHex(t,e),D=new Q;return D.readPKCS5PrvKeyHex(N),D}if(-1!=t.indexOf("-END EC PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var R,T=i(O=f.getDecryptedKeyHex(t,e),0,[1],"04"),C=i(O,0,[2,0],"06"),I=i(O,0,[3,0],"03").substr(2);if(void 0===o.crypto.OID.oidhex2name[C])throw"undefined OID(hex) in KJUR.crypto.OID: "+C;return(R=new a({curve:o.crypto.OID.oidhex2name[C]})).setPublicKeyHex(I),R.setPrivateKeyHex(T),R.isPublic=!1,R}if(-1!=t.indexOf("-END DSA PRIVATE KEY-")&&-1!=t.indexOf("4,ENCRYPTED")){var O;S=i(O=f.getDecryptedKeyHex(t,e),0,[1],"02"),E=i(O,0,[2],"02"),w=i(O,0,[3],"02"),A=i(O,0,[4],"02"),P=i(O,0,[5],"02");return(T=new u).setPrivate(new h(S,16),new h(E,16),new h(w,16),new h(A,16),new h(P,16)),T}if(-1!=t.indexOf("-END ENCRYPTED PRIVATE KEY-"))return f.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error("not supported argument")},St.generateKeypair=function(t,e){if("RSA"==t){var r=e;(a=new Q).generate(r,"10001"),a.isPrivate=!0,a.isPublic=!0;var n=new Q,i=a.n.toString(16),s=a.e.toString(16);return n.setPublic(i,s),n.isPrivate=!1,n.isPublic=!0,(u={}).prvKeyObj=a,u.pubKeyObj=n,u}if("EC"==t){var a,u,h=e,c=new o.crypto.ECDSA({curve:h}).generateKeyPairHex();return(a=new o.crypto.ECDSA({curve:h})).setPublicKeyHex(c.ecpubhex),a.setPrivateKeyHex(c.ecprvhex),a.isPrivate=!0,a.isPublic=!1,(n=new o.crypto.ECDSA({curve:h})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(u={}).prvKeyObj=a,u.pubKeyObj=n,u}throw"unknown algorithm: "+t},St.getPEM=function(t,e,r,n,i,s){var a=o,h=a.asn1,c=h.DERObjectIdentifier,l=h.DERInteger,f=h.ASN1Util.newObject,p=h.x509.SubjectPublicKeyInfo,d=a.crypto,g=d.DSA,v=d.ECDSA,y=Q;function m(t){return f({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function x(t){return f({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a0",!0,{oid:{name:t.curveName}}]},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]})}function b(t){return f({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==y&&t instanceof y||void 0!==g&&t instanceof g||void 0!==v&&t instanceof v)&&1==t.isPublic&&(void 0===e||"PKCS8PUB"==e))return st(A=new p(t).getEncodedHex(),"PUBLIC KEY");if("PKCS1PRV"==e&&void 0!==y&&t instanceof y&&(void 0===r||null==r)&&1==t.isPrivate)return st(A=m(t).getEncodedHex(),"RSA PRIVATE KEY");if("PKCS1PRV"==e&&void 0!==v&&t instanceof v&&(void 0===r||null==r)&&1==t.isPrivate){var S=new c({name:t.curveName}).getEncodedHex(),E=x(t).getEncodedHex(),w="";return w+=st(S,"EC PARAMETERS"),w+=st(E,"EC PRIVATE KEY")}if("PKCS1PRV"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return st(A=b(t).getEncodedHex(),"DSA PRIVATE KEY");if("PKCS5PRV"==e&&void 0!==y&&t instanceof y&&void 0!==r&&null!=r&&1==t.isPrivate){var A=m(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("RSA",A,r,n,s)}if("PKCS5PRV"==e&&void 0!==v&&t instanceof v&&void 0!==r&&null!=r&&1==t.isPrivate){A=x(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("EC",A,r,n,s)}if("PKCS5PRV"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate){A=b(t).getEncodedHex();return void 0===n&&(n="DES-EDE3-CBC"),this.getEncryptedPKCS5PEMFromPrvKeyHex("DSA",A,r,n,s)}var P=function(t,e){var r=N(t,e);return new f({seq:[{seq:[{oid:{name:"pkcs5PBES2"}},{seq:[{seq:[{oid:{name:"pkcs5PBKDF2"}},{seq:[{octstr:{hex:r.pbkdf2Salt}},{int:r.pbkdf2Iter}]}]},{seq:[{oid:{name:"des-EDE3-CBC"}},{octstr:{hex:r.encryptionSchemeIV}}]}]}]},{octstr:{hex:r.ciphertext}}]}).getEncodedHex()},N=function(t,e){var r=u.lib.WordArray.random(8),n=u.lib.WordArray.random(8),i=u.PBKDF2(e,r,{keySize:6,iterations:100}),s=u.enc.Hex.parse(t),o=u.TripleDES.encrypt(s,i,{iv:n})+"",a={};return a.ciphertext=o,a.pbkdf2Salt=u.enc.Hex.stringify(r),a.pbkdf2Iter=100,a.encryptionSchemeAlg="DES-EDE3-CBC",a.encryptionSchemeIV=u.enc.Hex.stringify(n),a};if("PKCS8PRV"==e&&null!=y&&t instanceof y&&1==t.isPrivate){var D=m(t).getEncodedHex();A=f({seq:[{int:0},{seq:[{oid:{name:"rsaEncryption"}},{null:!0}]},{octstr:{hex:D}}]}).getEncodedHex();return void 0===r||null==r?st(A,"PRIVATE KEY"):st(E=P(A,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==v&&t instanceof v&&1==t.isPrivate){D=new f({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:["a1",!0,{bitstr:{hex:"00"+t.pubKeyHex}}]}]}).getEncodedHex(),A=f({seq:[{int:0},{seq:[{oid:{name:"ecPublicKey"}},{oid:{name:t.curveName}}]},{octstr:{hex:D}}]}).getEncodedHex();return void 0===r||null==r?st(A,"PRIVATE KEY"):st(E=P(A,r),"ENCRYPTED PRIVATE KEY")}if("PKCS8PRV"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate){D=new l({bigint:t.x}).getEncodedHex(),A=f({seq:[{int:0},{seq:[{oid:{name:"dsa"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:D}}]}).getEncodedHex();return void 0===r||null==r?st(A,"PRIVATE KEY"):st(E=P(A,r),"ENCRYPTED PRIVATE KEY")}throw new Error("unsupported object nor format")},St.getKeyFromCSRPEM=function(t){var e=ot(t,"CERTIFICATE REQUEST");return St.getKeyFromCSRHex(e)},St.getKeyFromCSRHex=function(t){var e=St.parseCSRHex(t);return St.getKey(e.p8pubkeyhex,null,"pkcs8pub")},St.parseCSRHex=function(t){var e=Et,r=e.getChildIdx,n=e.getTLV,i={},s=t;if("30"!=s.substr(0,2))throw"malformed CSR(code:001)";var o=r(s,0);if(o.length<1)throw"malformed CSR(code:002)";if("30"!=s.substr(o[0],2))throw"malformed CSR(code:003)";var a=r(s,o[0]);if(a.length<3)throw"malformed CSR(code:004)";return i.p8pubkeyhex=n(s,a[2]),i},St.getKeyID=function(t){var e=St,r=Et;"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&(t=e.getKey(t));var n=ot(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),s=r.getV(n,i).substring(2);return o.crypto.Util.hashHex(s,"sha1")},St.getJWKFromKey=function(t){var e={};if(t instanceof Q&&t.isPrivate)return e.kty="RSA",e.n=J(t.n.toString(16)),e.e=J(t.e.toString(16)),e.d=J(t.d.toString(16)),e.p=J(t.p.toString(16)),e.q=J(t.q.toString(16)),e.dp=J(t.dmp1.toString(16)),e.dq=J(t.dmq1.toString(16)),e.qi=J(t.coeff.toString(16)),e;if(t instanceof Q&&t.isPublic)return e.kty="RSA",e.n=J(t.n.toString(16)),e.e=J(t.e.toString(16)),e;if(t instanceof o.crypto.ECDSA&&t.isPrivate){if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;var r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=J(r.x),e.y=J(r.y),e.d=J(t.prvKeyHex),e}if(t instanceof o.crypto.ECDSA&&t.isPublic){var n;if("P-256"!==(n=t.getShortNISTPCurveName())&&"P-384"!==n)throw"unsupported curve name for JWT: "+n;r=t.getPublicKeyXYHex();return e.kty="EC",e.crv=n,e.x=J(r.x),e.y=J(r.y),e}throw"not supported key object"},void 0!==o.asn1&&o.asn1||(o.asn1={}),o.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e="0"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if("-"!=e.substr(0,1))e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n="",i=0;i<r;i++)n+="f";e=new h(n,16).xor(t).add(h.ONE).toString(16).replace(/^-/,"")}return e},this.getPEMStringFromHex=function(t,e){return st(t,e)},this.newObject=function(t){var e=o.asn1,r=e.ASN1Object,n=e.DERBoolean,i=e.DERInteger,s=e.DERBitString,a=e.DEROctetString,u=e.DERNull,h=e.DERObjectIdentifier,c=e.DEREnumerated,l=e.DERUTF8String,f=e.DERNumericString,p=e.DERPrintableString,d=e.DERTeletexString,g=e.DERIA5String,v=e.DERUTCTime,y=e.DERGeneralizedTime,m=e.DERVisibleString,x=e.DERBMPString,b=e.DERSequence,S=e.DERSet,E=e.DERTaggedObject,w=e.ASN1Util.newObject;if(t instanceof e.ASN1Object)return t;var A=Object.keys(t);if(1!=A.length)throw new Error("key of param shall be only one.");var P=A[0];if(-1==":asn1:bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:visstr:bmpstr:seq:set:tag:".indexOf(":"+P+":"))throw new Error("undefined key: "+P);if("bool"==P)return new n(t[P]);if("int"==P)return new i(t[P]);if("bitstr"==P)return new s(t[P]);if("octstr"==P)return new a(t[P]);if("null"==P)return new u(t[P]);if("oid"==P)return new h(t[P]);if("enum"==P)return new c(t[P]);if("utf8str"==P)return new l(t[P]);if("numstr"==P)return new f(t[P]);if("prnstr"==P)return new p(t[P]);if("telstr"==P)return new d(t[P]);if("ia5str"==P)return new g(t[P]);if("utctime"==P)return new v(t[P]);if("gentime"==P)return new y(t[P]);if("visstr"==P)return new m(t[P]);if("bmpstr"==P)return new x(t[P]);if("asn1"==P)return new r(t[P]);if("seq"==P){for(var N=t[P],D=[],R=0;R<N.length;R++){var T=w(N[R]);D.push(T)}return new b({array:D})}if("set"==P){for(N=t[P],D=[],R=0;R<N.length;R++){T=w(N[R]);D.push(T)}return new S({array:D})}if("tag"==P){var C=t[P];if("[object Array]"===Object.prototype.toString.call(C)&&3==C.length){var I=w(C[2]);return new E({tag:C[0],explicit:C[1],obj:I})}return new E(C)}},this.jsonToASN1HEX=function(t){return this.newObject(t).getEncodedHex()}},o.asn1.ASN1Util.oidHexToInt=function(t){for(var e="",r=parseInt(t.substr(0,2),16),n=(e=Math.floor(r/40)+"."+r%40,""),i=2;i<t.length;i+=2){var s=("00000000"+parseInt(t.substr(i,2),16).toString(2)).slice(-8);if(n+=s.substr(1,7),"0"==s.substr(0,1))e=e+"."+new h(n,2).toString(10),n=""}return e},o.asn1.ASN1Util.oidIntToHex=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",n=new h(t,10).toString(2),i=7-n.length%7;7==i&&(i=0);for(var s="",o=0;o<i;o++)s+="0";n=s+n;for(o=0;o<n.length-1;o+=7){var a=n.substr(o,7);o!=n.length-7&&(a="1"+a),r+=e(parseInt(a,2))}return r};if(!t.match(/^[0-9.]+$/))throw"malformed oid string: "+t;var n="",i=t.split("."),s=40*parseInt(i[0])+parseInt(i[1]);n+=e(s),i.splice(0,2);for(var o=0;o<i.length;o++)n+=r(i[o]);return n},o.asn1.ASN1Object=function(t){this.params=null,this.getLengthHexFromValue=function(){if(void 0===this.hV||null==this.hV)throw new Error("this.hV is null or undefined");if(this.hV.length%2==1)throw new Error("value hex must be even length: n="+"".length+",v="+this.hV);var t=this.hV.length/2,e=t.toString(16);if(e.length%2==1&&(e="0"+e),t<128)return e;var r=e.length/2;if(r>15)throw"ASN.1 length too long to represent by 8x: n = "+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return""},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},o.asn1.DERAbstractString=function(t){o.asn1.DERAbstractString.superclass.constructor.call(this),this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=tt(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},a.lang.extend(o.asn1.DERAbstractString,o.asn1.ASN1Object),o.asn1.DERAbstractTime=function(t){o.asn1.DERAbstractTime.superclass.constructor.call(this),this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),s=String(i.getFullYear());"utc"==e&&(s=s.substr(2,2));var o=s+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);o=o+"."+(u=u.replace(/[0]+$/,""))}}return o+"Z"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=W(t)},this.setByDateValue=function(t,e,r,n,i,s){var o=new Date(Date.UTC(t,e-1,r,n,i,s,0));this.setByDate(o)},this.getFreshValueHex=function(){return this.hV}},a.lang.extend(o.asn1.DERAbstractTime,o.asn1.ASN1Object),o.asn1.DERAbstractStructured=function(t){o.asn1.DERAbstractString.superclass.constructor.call(this),this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},a.lang.extend(o.asn1.DERAbstractStructured,o.asn1.ASN1Object),o.asn1.DERBoolean=function(t){o.asn1.DERBoolean.superclass.constructor.call(this),this.hT="01",this.hTLV=0==t?"010100":"0101ff"},a.lang.extend(o.asn1.DERBoolean,o.asn1.ASN1Object),o.asn1.DERInteger=function(t){o.asn1.DERInteger.superclass.constructor.call(this),this.hT="02",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=o.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new h(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},a.lang.extend(o.asn1.DERInteger,o.asn1.ASN1Object),o.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=o.asn1.ASN1Util.newObject(t.obj);t.hex="00"+e.getEncodedHex()}o.asn1.DERBitString.superclass.constructor.call(this),this.hT="03",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7<t)throw"unused bits shall be from 0 to 7: u = "+t;var r="0"+t;this.hTLV=null,this.isModified=!0,this.hV=r+e},this.setByBinaryString=function(t){var e=8-(t=t.replace(/0+$/,"")).length%8;8==e&&(e=0);for(var r=0;r<=e;r++)t+="0";var n="";for(r=0;r<t.length-1;r+=8){var i=t.substr(r,8),s=parseInt(i,2).toString(16);1==s.length&&(s="0"+s),n+=s}this.hTLV=null,this.isModified=!0,this.hV="0"+e+n},this.setByBooleanArray=function(t){for(var e="",r=0;r<t.length;r++)1==t[r]?e+="1":e+="0";this.setByBinaryString(e)},this.newFalseArray=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=!1;return e},this.getFreshValueHex=function(){return this.hV},void 0!==t&&("string"==typeof t&&t.toLowerCase().match(/^[0-9a-f]+$/)?this.setHexValueIncludingUnusedBits(t):void 0!==t.hex?this.setHexValueIncludingUnusedBits(t.hex):void 0!==t.bin?this.setByBinaryString(t.bin):void 0!==t.array&&this.setByBooleanArray(t.array))},a.lang.extend(o.asn1.DERBitString,o.asn1.ASN1Object),o.asn1.DEROctetString=function(t){if(void 0!==t&&void 0!==t.obj){var e=o.asn1.ASN1Util.newObject(t.obj);t.hex=e.getEncodedHex()}o.asn1.DEROctetString.superclass.constructor.call(this,t),this.hT="04"},a.lang.extend(o.asn1.DEROctetString,o.asn1.DERAbstractString),o.asn1.DERNull=function(){o.asn1.DERNull.superclass.constructor.call(this),this.hT="05",this.hTLV="0500"},a.lang.extend(o.asn1.DERNull,o.asn1.ASN1Object),o.asn1.DERObjectIdentifier=function(t){o.asn1.DERObjectIdentifier.superclass.constructor.call(this),this.hT="06",this.setValueHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.setValueOidString=function(t){var e=function(t){var e=function(t){var e=t.toString(16);return 1==e.length&&(e="0"+e),e},r=function(t){var r="",n=parseInt(t,10).toString(2),i=7-n.length%7;7==i&&(i=0);for(var s="",o=0;o<i;o++)s+="0";for(n=s+n,o=0;o<n.length-1;o+=7){var a=n.substr(o,7);o!=n.length-7&&(a="1"+a),r+=e(parseInt(a,2))}return r};try{if(!t.match(/^[0-9.]+$/))return null;var n="",i=t.split("."),s=40*parseInt(i[0],10)+parseInt(i[1],10);n+=e(s),i.splice(0,2);for(var o=0;o<i.length;o++)n+=r(i[o]);return n}catch(t){return null}}(t);if(null==e)throw new Error("malformed oid string: "+t);this.hTLV=null,this.isModified=!0,this.s=null,this.hV=e},this.setValueName=function(t){var e=o.asn1.x509.OID.name2oid(t);if(""===e)throw new Error("DERObjectIdentifier oidName undefined: "+t);this.setValueOidString(e)},this.setValueNameOrOid=function(t){t.match(/^[0-2].[0-9.]+$/)?this.setValueOidString(t):this.setValueName(t)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(t){"string"==typeof t?this.setValueNameOrOid(t):void 0!==t.oid?this.setValueNameOrOid(t.oid):void 0!==t.name?this.setValueNameOrOid(t.name):void 0!==t.hex&&this.setValueHex(t.hex)},void 0!==t&&this.setByParam(t)},a.lang.extend(o.asn1.DERObjectIdentifier,o.asn1.ASN1Object),o.asn1.DEREnumerated=function(t){o.asn1.DEREnumerated.superclass.constructor.call(this),this.hT="0a",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=o.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new h(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.int?this.setByInteger(t.int):"number"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},a.lang.extend(o.asn1.DEREnumerated,o.asn1.ASN1Object),o.asn1.DERUTF8String=function(t){o.asn1.DERUTF8String.superclass.constructor.call(this,t),this.hT="0c"},a.lang.extend(o.asn1.DERUTF8String,o.asn1.DERAbstractString),o.asn1.DERNumericString=function(t){o.asn1.DERNumericString.superclass.constructor.call(this,t),this.hT="12"},a.lang.extend(o.asn1.DERNumericString,o.asn1.DERAbstractString),o.asn1.DERPrintableString=function(t){o.asn1.DERPrintableString.superclass.constructor.call(this,t),this.hT="13"},a.lang.extend(o.asn1.DERPrintableString,o.asn1.DERAbstractString),o.asn1.DERTeletexString=function(t){o.asn1.DERTeletexString.superclass.constructor.call(this,t),this.hT="14"},a.lang.extend(o.asn1.DERTeletexString,o.asn1.DERAbstractString),o.asn1.DERIA5String=function(t){o.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="16"},a.lang.extend(o.asn1.DERIA5String,o.asn1.DERAbstractString),o.asn1.DERVisibleString=function(t){o.asn1.DERIA5String.superclass.constructor.call(this,t),this.hT="1a"},a.lang.extend(o.asn1.DERVisibleString,o.asn1.DERAbstractString),o.asn1.DERBMPString=function(t){o.asn1.DERBMPString.superclass.constructor.call(this,t),this.hT="1e"},a.lang.extend(o.asn1.DERBMPString,o.asn1.DERAbstractString),o.asn1.DERUTCTime=function(t){o.asn1.DERUTCTime.superclass.constructor.call(this,t),this.hT="17",this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"utc"),this.hV=W(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"utc"),this.hV=W(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{12}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date))},a.lang.extend(o.asn1.DERUTCTime,o.asn1.DERAbstractTime),o.asn1.DERGeneralizedTime=function(t){o.asn1.DERGeneralizedTime.superclass.constructor.call(this,t),this.hT="18",this.withMillis=!1,this.setByDate=function(t){this.hTLV=null,this.isModified=!0,this.date=t,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=W(this.s)},this.getFreshValueHex=function(){return void 0===this.date&&void 0===this.s&&(this.date=new Date,this.s=this.formatDate(this.date,"gen",this.withMillis),this.hV=W(this.s)),this.hV},void 0!==t&&(void 0!==t.str?this.setString(t.str):"string"==typeof t&&t.match(/^[0-9]{14}Z$/)?this.setString(t):void 0!==t.hex?this.setStringHex(t.hex):void 0!==t.date&&this.setByDate(t.date),!0===t.millis&&(this.withMillis=!0))},a.lang.extend(o.asn1.DERGeneralizedTime,o.asn1.DERAbstractTime),o.asn1.DERSequence=function(t){o.asn1.DERSequence.superclass.constructor.call(this,t),this.hT="30",this.getFreshValueHex=function(){for(var t="",e=0;e<this.asn1Array.length;e++){t+=this.asn1Array[e].getEncodedHex()}return this.hV=t,this.hV}},a.lang.extend(o.asn1.DERSequence,o.asn1.DERAbstractStructured),o.asn1.DERSet=function(t){o.asn1.DERSet.superclass.constructor.call(this,t),this.hT="31",this.sortFlag=!0,this.getFreshValueHex=function(){for(var t=new Array,e=0;e<this.asn1Array.length;e++){var r=this.asn1Array[e];t.push(r.getEncodedHex())}return 1==this.sortFlag&&t.sort(),this.hV=t.join(""),this.hV},void 0!==t&&void 0!==t.sortflag&&0==t.sortflag&&(this.sortFlag=!1)},a.lang.extend(o.asn1.DERSet,o.asn1.DERAbstractStructured),o.asn1.DERTaggedObject=function(t){o.asn1.DERTaggedObject.superclass.constructor.call(this);var e=o.asn1;this.hT="a0",this.hV="",this.isExplicit=!0,this.asn1Object=null,this.setASN1Object=function(t,e,r){this.hT=e,this.isExplicit=t,this.asn1Object=r,this.isExplicit?(this.hV=this.asn1Object.getEncodedHex(),this.hTLV=null,this.isModified=!0):(this.hV=null,this.hTLV=r.getEncodedHex(),this.hTLV=this.hTLV.replace(/^../,e),this.isModified=!1)},this.getFreshValueHex=function(){return this.hV},this.setByParam=function(t){null!=t.tag&&(this.hT=t.tag),null!=t.explicit&&(this.isExplicit=t.explicit),null!=t.tage&&(this.hT=t.tage,this.isExplicit=!0),null!=t.tagi&&(this.hT=t.tagi,this.isExplicit=!1),null!=t.obj&&(t.obj instanceof e.ASN1Object?(this.asn1Object=t.obj,this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)):"object"==typeof t.obj&&(this.asn1Object=e.ASN1Util.newObject(t.obj),this.setASN1Object(this.isExplicit,this.hT,this.asn1Object)))},null!=t&&this.setByParam(t)},a.lang.extend(o.asn1.DERTaggedObject,o.asn1.ASN1Object);var Et=new function(){};function wt(t,e){for(var r="",n=e/4-t.length,i=0;i<n;i++)r+="0";return r+t}function At(t,e,r){for(var n="",i=0;n.length<e;)n+=rt(r(nt(t+String.fromCharCode.apply(String,[(4278190080&i)>>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function Pt(t){for(var e in o.crypto.Util.DIGESTINFOHEAD){var r=o.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function Nt(t){var e,r=Et,n=r.getChildIdx,i=r.getV,s=r.getTLV,a=r.getVbyList,u=r.getVbyListEx,h=r.getTLVbyList,c=r.getTLVbyListEx,l=r.getIdxbyList,f=r.getIdxbyListEx,p=r.getVidx,d=r.getInt,g=r.oidname,v=r.hextooidstr,y=ot;try{e=o.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={"0c":"utf8",13:"prn",16:"ia5","1a":"vis","1e":"bmp"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){if(null===this.hex||0!==this.version)return this.version;var t=h(this.hex,0,[0,0]);if("a0"==t.substr(0,2)){var e=h(t,0,[0]),r=d(e,0);if(r<0||2<r)throw new Error("malformed version field");return this.version=r+1,this.version}return this.version=1,this.foffset=-1,1},this.getSerialNumberHex=function(){return u(this.hex,0,[0,0],"02")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(u(t,0,[0],"06"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return h(this.hex,0,[0,3+this.foffset],"30")},this.getIssuerString=function(){return this.getIssuer().str},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return h(this.hex,0,[0,5+this.foffset],"30")},this.getSubjectString=function(){return this.getSubject().str},this.getNotBefore=function(){var t=a(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getNotAfter=function(){var t=a(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,"%$1"),t=decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyIdx=function(){return l(this.hex,0,[0,6+this.foffset],"30")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return l(this.hex,t,[1,0],"30")},this.getPublicKey=function(){return St.getKey(this.getPublicKeyHex(),null,"pkcs8pub")},this.getSignatureAlgorithmName=function(){var t=h(this.hex,0,[1],"30");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return a(this.hex,0,[2],"03",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=h(this.hex,0,[0],"30"),i=new o.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,s,o;if(void 0===t){if(o=this.hex,3!==this.version)return-1;e=l(o,0,[0,7,0],"30"),s=n(o,e)}else{o=ot(t);var u=l(o,0,[0,3,0,0],"06");if("2a864886f70d01090e"!=i(o,u))return void(this.aExtInfo=new Array);e=l(o,0,[0,3,0,1,0],"30"),s=n(o,e),this.hex=o}this.aExtInfo=new Array;for(var h=0;h<s.length;h++){var c={critical:!1},f=0;3===n(o,s[h]).length&&(c.critical=!0,f=1),c.oid=r.hextooidstr(a(o,s[h],[0],"06"));var d=l(o,s[h],[1+f]);c.vidx=p(o,d),this.aExtInfo.push(c)}},this.getExtInfo=function(t){var e=this.aExtInfo,r=t;if(t.match(/^[0-9.]+$/)||(r=o.asn1.x509.OID.name2oid(t)),""!==r)for(var n=0;n<e.length;n++)if(e[n].oid===r)return e[n]},this.getExtBasicConstraints=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("basicConstraints");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var n={extname:"basicConstraints"};if(e&&(n.critical=!0),"3000"===t)return n;if("30030101ff"===t)return n.cA=!0,n;if("30060101ff02"===t.substr(0,12)){var o=i(t,10),a=parseInt(o,16);return n.cA=!0,n.pathLen=a,n}throw new Error("hExtV parse error: "+t)},this.getExtKeyUsage=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("keyUsage");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var n={extname:"keyUsage"};return e&&(n.critical=!0),n.names=this.getExtKeyUsageString(t).split(","),n},this.getExtKeyUsageBin=function(t){if(void 0===t){var e=this.getExtInfo("keyUsage");if(void 0===e)return"";t=s(this.hex,e.vidx)}if(8!=t.length&&10!=t.length)throw new Error("malformed key usage value: "+t);var r="000000000000000"+parseInt(t.substr(6),16).toString(2);return 8==t.length&&(r=r.slice(-8)),10==t.length&&(r=r.slice(-16)),""==(r=r.replace(/0+$/,""))&&(r="0"),r},this.getExtKeyUsageString=function(t){for(var e=this.getExtKeyUsageBin(t),r=new Array,n=0;n<e.length;n++)"1"==e.substr(n,1)&&r.push(Nt.KEYUSAGE_NAME[n]);return r.join(",")},this.getExtSubjectKeyIdentifier=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("subjectKeyIdentifier");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var n={extname:"subjectKeyIdentifier"};e&&(n.critical=!0);var o=i(t,0);return n.kid={hex:o},n},this.getExtAuthorityKeyIdentifier=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("authorityKeyIdentifier");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var o={extname:"authorityKeyIdentifier"};e&&(o.critical=!0);for(var a=n(t,0),u=0;u<a.length;u++){var h=t.substr(a[u],2);if("80"===h&&(o.kid={hex:i(t,a[u])}),"a1"===h){var c=s(t,a[u]),l=this.getGeneralNames(c);o.issuer=l[0].dn}"82"===h&&(o.sn={hex:i(t,a[u])})}return o},this.getExtExtKeyUsage=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("extKeyUsage");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var o={extname:"extKeyUsage",array:[]};e&&(o.critical=!0);for(var a=n(t,0),u=0;u<a.length;u++)o.array.push(g(i(t,a[u])));return o},this.getExtExtKeyUsageName=function(){var t=this.getExtInfo("extKeyUsage");if(void 0===t)return t;var e=new Array,r=s(this.hex,t.vidx);if(""===r)return e;for(var o=n(r,0),a=0;a<o.length;a++)e.push(g(i(r,o[a])));return e},this.getExtSubjectAltName=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("subjectAltName");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var n={extname:"subjectAltName",array:[]};return e&&(n.critical=!0),n.array=this.getGeneralNames(t),n},this.getExtIssuerAltName=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("issuerAltName");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var n={extname:"issuerAltName",array:[]};return e&&(n.critical=!0),n.array=this.getGeneralNames(t),n},this.getGeneralNames=function(t){for(var e=n(t,0),r=[],i=0;i<e.length;i++){var o=this.getGeneralName(s(t,e[i]));void 0!==o&&r.push(o)}return r},this.getGeneralName=function(t){var e=t.substr(0,2),r=i(t,0),n=rt(r);return"81"==e?{rfc822:n}:"82"==e?{dns:n}:"86"==e?{uri:n}:"87"==e?{ip:at(r)}:"a4"==e?{dn:this.getX500Name(r)}:void 0},this.getExtSubjectAltName2=function(){var t,e,r,o=this.getExtInfo("subjectAltName");if(void 0===o)return o;for(var a=new Array,u=s(this.hex,o.vidx),h=n(u,0),c=0;c<h.length;c++)r=u.substr(h[c],2),t=i(u,h[c]),"81"===r&&(e=et(t),a.push(["MAIL",e])),"82"===r&&(e=et(t),a.push(["DNS",e])),"84"===r&&(e=Nt.hex2dn(t,0),a.push(["DN",e])),"86"===r&&(e=et(t),a.push(["URI",e])),"87"===r&&(e=at(t),a.push(["IP",e]));return a},this.getExtCRLDistributionPoints=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("cRLDistributionPoints");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var i={extname:"cRLDistributionPoints",array:[]};e&&(i.critical=!0);for(var o=n(t,0),a=0;a<o.length;a++){var u=s(t,o[a]);i.array.push(this.getDistributionPoint(u))}return i},this.getDistributionPoint=function(t){for(var e={},r=n(t,0),i=0;i<r.length;i++){var o=t.substr(r[i],2),a=s(t,r[i]);"a0"==o&&(e.dpname=this.getDistributionPointName(a))}return e},this.getDistributionPointName=function(t){for(var e={},r=n(t,0),i=0;i<r.length;i++){var o=t.substr(r[i],2),a=s(t,r[i]);"a0"==o&&(e.full=this.getGeneralNames(a))}return e},this.getExtCRLDistributionPointsURI=function(){var t=this.getExtInfo("cRLDistributionPoints");if(void 0===t)return t;for(var e=new Array,r=n(this.hex,t.vidx),i=0;i<r.length;i++)try{var s=et(a(this.hex,r[i],[0,0,0],"86"));e.push(s)}catch(t){}return e},this.getExtAIAInfo=function(){var t=this.getExtInfo("authorityInfoAccess");if(void 0===t)return t;for(var e={ocsp:[],caissuer:[]},r=n(this.hex,t.vidx),i=0;i<r.length;i++){var s=a(this.hex,r[i],[0],"06"),o=a(this.hex,r[i],[1],"86");"2b06010505073001"===s&&e.ocsp.push(et(o)),"2b06010505073002"===s&&e.caissuer.push(et(o))}return e},this.getExtAuthorityInfoAccess=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("authorityInfoAccess");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var i={extname:"authorityInfoAccess",array:[]};e&&(i.critical=!0);for(var o=n(t,0),h=0;h<o.length;h++){var c=u(t,o[h],[0],"06"),l=et(a(t,o[h],[1],"86"));if("2b06010505073001"==c)i.array.push({ocsp:l});else{if("2b06010505073002"!=c)throw new Error("unknown method: "+c);i.array.push({caissuer:l})}}return i},this.getExtCertificatePolicies=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("certificatePolicies");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var i={extname:"certificatePolicies",array:[]};e&&(i.critical=!0);for(var o=n(t,0),a=0;a<o.length;a++){var u=s(t,o[a]),h=this.getPolicyInformation(u);i.array.push(h)}return i},this.getPolicyInformation=function(t){var e={},r=a(t,0,[0],"06");e.policyoid=g(r);var i=f(t,0,[1],"30");if(-1!=i){e.array=[];for(var o=n(t,i),u=0;u<o.length;u++){var h=s(t,o[u]),c=this.getPolicyQualifierInfo(h);e.array.push(c)}}return e},this.getPolicyQualifierInfo=function(t){var e={},r=a(t,0,[0],"06");if("2b06010505070201"===r){var n=u(t,0,[1],"16");e.cps=rt(n)}else if("2b06010505070202"===r){var i=h(t,0,[1],"30");e.unotice=this.getUserNotice(i)}return e},this.getUserNotice=function(t){for(var e={},r=n(t,0),i=0;i<r.length;i++){var o=s(t,r[i]);"30"!=o.substr(0,2)&&(e.exptext=this.getDisplayText(o))}return e},this.getDisplayText=function(t){var e={};return e.type={"0c":"utf8",16:"ia5","1a":"vis","1e":"bmp"}[t.substr(0,2)],e.str=rt(i(t,0)),e},this.getExtCRLNumber=function(t,e){var r={extname:"cRLNumber"};if(e&&(r.critical=!0),"02"==t.substr(0,2))return r.num={hex:i(t,0)},r;throw new Error("hExtV parse error: "+t)},this.getExtCRLReason=function(t,e){var r={extname:"cRLReason"};if(e&&(r.critical=!0),"0a"==t.substr(0,2))return r.code=parseInt(i(t,0),16),r;throw new Error("hExtV parse error: "+t)},this.getExtOcspNonce=function(t,e){var r={extname:"ocspNonce"};e&&(r.critical=!0);var n=i(t,0);return r.hex=n,r},this.getExtOcspNoCheck=function(t,e){var r={extname:"ocspNoCheck"};return e&&(r.critical=!0),r},this.getExtAdobeTimeStamp=function(t,e){if(void 0===t&&void 0===e){var r=this.getExtInfo("adobeTimeStamp");if(void 0===r)return;t=s(this.hex,r.vidx),e=r.critical}var i={extname:"adobeTimeStamp"};e&&(i.critical=!0);var o=n(t,0);if(o.length>1){var a=s(t,o[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(o.length>2){var h=s(t,o[2]);"0101ff"==h&&(i.reqauth=!0),"010100"==h&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n<t.length;n++)for(var i=t[n],s=0;s<i.length;s++)r.push(i[s]);for(n=0;n<r.length;n++){var a=r[n],u=a.ds,h=a.value,c=a.type;if("prn"!=u&&"utf8"!=u&&"ia5"!=u)return"mixed";if("ia5"==u){if("CN"!=c)return"mixed";if(o.lang.String.isMail(h))continue;return"mixed"}if("C"==c){if("prn"==u)continue;return"mixed"}if(null==e)e=u;else if(e!==u)return"mixed"}return null==e?"prn":e},this.getX500Name=function(t){var e=this.getX500NameArray(t);return{array:e,str:this.dnarraytostr(e)}},this.getX500NameArray=function(t){for(var e=[],r=n(t,0),i=0;i<r.length;i++)e.push(this.getRDN(s(t,r[i])));return e},this.getRDN=function(t){for(var e=[],r=n(t,0),i=0;i<r.length;i++)e.push(this.getAttrTypeAndValue(s(t,r[i])));return e},this.getAttrTypeAndValue=function(t){var e={type:null,value:null,ds:null},r=n(t,0),i=a(t,r[0],[],"06"),s=a(t,r[1],[]),u=o.asn1.ASN1Util.oidHexToInt(i);return e.type=o.asn1.x509.OID.oid2atype(u),e.ds=this.HEX2STAG[t.substr(r[1],2)],"bmp"!=e.ds?e.value=et(s):e.value=ut(s),e},this.readCertPEM=function(t){this.readCertHex(y(t))},this.readCertHex=function(t){this.hex=t,this.getVersion();try{l(this.hex,0,[0,7],"a3"),this.parseExt()}catch(t){}},this.getParam=function(){var t={};return t.version=this.getVersion(),t.serial={hex:this.getSerialNumberHex()},t.sigalg=this.getSignatureAlgorithmField(),t.issuer=this.getIssuer(),t.notbefore=this.getNotBefore(),t.notafter=this.getNotAfter(),t.subject=this.getSubject(),t.sbjpubkey=st(this.getPublicKeyHex(),"PUBLIC KEY"),this.aExtInfo.length>0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&(-1!=f(this.hex,0,[0,"[3]"])&&(t=c(this.hex,0,[0,"[3]",0],"30")));for(var e=[],r=n(t,0),i=0;i<r.length;i++){var o=s(t,r[i]),a=this.getExtParam(o);null!=a&&e.push(a)}return e},this.getExtParam=function(t){var e=n(t,0).length;if(2!=e&&3!=e)throw new Error("wrong number elements in Extension: "+e+" "+t);var r=v(a(t,0,[0],"06")),i=!1;3==e&&"0101ff"==h(t,0,[1])&&(i=!0);var s=h(t,0,[e-1,0]),o=void 0;if("2.5.29.14"==r?o=this.getExtSubjectKeyIdentifier(s,i):"2.5.29.15"==r?o=this.getExtKeyUsage(s,i):"2.5.29.17"==r?o=this.getExtSubjectAltName(s,i):"2.5.29.18"==r?o=this.getExtIssuerAltName(s,i):"2.5.29.19"==r?o=this.getExtBasicConstraints(s,i):"2.5.29.31"==r?o=this.getExtCRLDistributionPoints(s,i):"2.5.29.32"==r?o=this.getExtCertificatePolicies(s,i):"2.5.29.35"==r?o=this.getExtAuthorityKeyIdentifier(s,i):"2.5.29.37"==r?o=this.getExtExtKeyUsage(s,i):"1.3.6.1.5.5.7.1.1"==r?o=this.getExtAuthorityInfoAccess(s,i):"2.5.29.20"==r?o=this.getExtCRLNumber(s,i):"2.5.29.21"==r?o=this.getExtCRLReason(s,i):"1.3.6.1.5.5.7.48.1.2"==r?o=this.getExtOcspNonce(s,i):"1.3.6.1.5.5.7.48.1.5"==r?o=this.getExtOcspNoCheck(s,i):"1.2.840.113583.1.1.9.1"==r&&(o=this.getExtAdobeTimeStamp(s,i)),null!=o)return o;var u={extname:r,extn:s};return i&&(u.critical=!0),u},this.findExt=function(t,e){for(var r=0;r<t.length;r++)if(t[r].extname==e)return t[r];return null},this.updateExtCDPFullURI=function(t,e){var r=this.findExt(t,"cRLDistributionPoints");if(null!=r&&null!=r.array)for(var n=r.array,i=0;i<n.length;i++)if(null!=n[i].dpname&&null!=n[i].dpname.full)for(var s=n[i].dpname.full,o=0;o<s.length;o++){var a=s[i];null!=a.uri&&(a.uri=e)}},this.updateExtAIAOCSP=function(t,e){var r=this.findExt(t,"authorityInfoAccess");if(null!=r&&null!=r.array)for(var n=r.array,i=0;i<n.length;i++)null!=n[i].ocsp&&(n[i].ocsp=e)},this.updateExtAIACAIssuer=function(t,e){var r=this.findExt(t,"authorityInfoAccess");if(null!=r&&null!=r.array)for(var n=r.array,i=0;i<n.length;i++)null!=n[i].caissuer&&(n[i].caissuer=e)},this.dnarraytostr=function(t){return"/"+t.map((function(t){return function(t){return t.map((function(t){return function(t){return t.type+"="+t.value}(t).replace(/\+/,"\\+")})).join("+")}(t).replace(/\//,"\\/")})).join("/")},this.getInfo=function(){var t,e,r,n,i=function(t){for(var e="",r=t.array,n=0;n<r.length;n++){var i=r[n];if(e+=" policy oid: "+i.policyoid+"\n",void 0!==i.array)for(var s=0;s<i.array.length;s++){var o=i.array[s];void 0!==o.cps&&(e+=" cps: "+o.cps+"\n")}}return e},s=function(t){for(var e="",r=t.array,n=0;n<r.length;n++){var i=r[n];try{void 0!==i.dpname.full[0].uri&&(e+=" "+i.dpname.full[0].uri+"\n")}catch(t){}try{void 0!==i.dname.full[0].dn.hex&&(e+=" "+Nt.hex2dn(i.dpname.full[0].dn.hex)+"\n")}catch(t){}}return e},a=function(t){for(var e="",r=t.array,n=0;n<r.length;n++){var i=r[n];void 0!==i.caissuer&&(e+=" caissuer: "+i.caissuer+"\n"),void 0!==i.ocsp&&(e+=" ocsp: "+i.ocsp+"\n")}return e};if(t="Basic Fields\n",t+=" serial number: "+this.getSerialNumberHex()+"\n",t+=" signature algorithm: "+this.getSignatureAlgorithmField()+"\n",t+=" issuer: "+this.getIssuerString()+"\n",t+=" notBefore: "+this.getNotBefore()+"\n",t+=" notAfter: "+this.getNotAfter()+"\n",t+=" subject: "+this.getSubjectString()+"\n",t+=" subject public key info: \n",t+=" key algorithm: "+(e=this.getPublicKey()).type+"\n","RSA"===e.type&&(t+=" n="+ct(e.n.toString(16)).substr(0,16)+"...\n",t+=" e="+ct(e.e.toString(16))+"\n"),null!=(r=this.aExtInfo)){t+="X509v3 Extensions:\n";for(var u=0;u<r.length;u++){var h=r[u],c=o.asn1.x509.OID.oid2name(h.oid);""===c&&(c=h.oid);var l="";if(!0===h.critical&&(l="CRITICAL"),t+=" "+c+" "+l+":\n","basicConstraints"===c){var f=this.getExtBasicConstraints();void 0===f.cA?t+=" {}\n":(t+=" cA=true",void 0!==f.pathLen&&(t+=", pathLen="+f.pathLen),t+="\n")}else if("keyUsage"===c)t+=" "+this.getExtKeyUsageString()+"\n";else if("subjectKeyIdentifier"===c)t+=" "+this.getExtSubjectKeyIdentifier().kid.hex+"\n";else if("authorityKeyIdentifier"===c){var p=this.getExtAuthorityKeyIdentifier();void 0!==p.kid&&(t+=" kid="+p.kid.hex+"\n")}else{if("extKeyUsage"===c)t+=" "+this.getExtExtKeyUsage().array.join(", ")+"\n";else if("subjectAltName"===c)t+=" "+(n=this.getExtSubjectAltName(),JSON.stringify(n.array).replace(/[\[\]\{\}\"]/g,""))+"\n";else if("cRLDistributionPoints"===c)t+=s(this.getExtCRLDistributionPoints());else if("authorityInfoAccess"===c)t+=a(this.getExtAuthorityInfoAccess());else"certificatePolicies"===c&&(t+=i(this.getExtCertificatePolicies()))}}}return t+="signature algorithm: "+this.getSignatureAlgorithmName()+"\n",t+="signature: "+this.getSignatureValueHex().substr(0,16)+"...\n"},"string"==typeof t&&(-1!=t.indexOf("-----BEGIN")?this.readCertPEM(t):o.lang.String.isHex(t)&&this.readCertHex(t))}function Dt(t){return u.SHA256(t).toString()}Et.getLblen=function(t,e){if("8"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0<r&&r<10?r+1:-2},Et.getL=function(t,e){var r=Et.getLblen(t,e);return r<1?"":t.substr(e+2,2*r)},Et.getVblen=function(t,e){var r;return""==(r=Et.getL(t,e))?-1:("8"===r.substr(0,1)?new h(r.substr(2),16):new h(r,16)).intValue()},Et.getVidx=function(t,e){var r=Et.getLblen(t,e);return r<0?r:e+2*(r+1)},Et.getV=function(t,e){var r=Et.getVidx(t,e),n=Et.getVblen(t,e);return t.substr(r,2*n)},Et.getTLV=function(t,e){return t.substr(e,2)+Et.getL(t,e)+Et.getV(t,e)},Et.getTLVblen=function(t,e){return 2+2*Et.getLblen(t,e)+2*Et.getVblen(t,e)},Et.getNextSiblingIdx=function(t,e){return Et.getVidx(t,e)+2*Et.getVblen(t,e)},Et.getChildIdx=function(t,e){var r,n,i,s=Et,o=[];r=s.getVidx(t,e),n=2*s.getVblen(t,e),"03"==t.substr(e,2)&&(r+=2,n-=2),i=0;for(var a=r;i<=n;){var u=s.getTLVblen(t,a);if((i+=u)<=n&&o.push(a),a+=u,i>=n)break}return o},Et.getNthChildIdx=function(t,e,r){return Et.getChildIdx(t,e)[r]},Et.getIdxbyList=function(t,e,r,n){var i,s,o=Et;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(s=o.getChildIdx(t,e)).length?-1:o.getIdxbyList(t,s[i],r,n)},Et.getIdxbyListEx=function(t,e,r,n){var i,s,o=Et;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),s=o.getChildIdx(t,e);for(var a=0,u=0;u<s.length;u++){var h=t.substr(s[u],2);if("number"==typeof i&&!o.isContextTag(h)&&a==i||"string"==typeof i&&o.isContextTag(h,i))return o.getIdxbyListEx(t,s[u],r,n);o.isContextTag(h)||a++}return-1},Et.getTLVbyList=function(t,e,r,n){var i=Et,s=i.getIdxbyList(t,e,r,n);return-1==s||s>=t.length?null:i.getTLV(t,s)},Et.getTLVbyListEx=function(t,e,r,n){var i=Et,s=i.getIdxbyListEx(t,e,r,n);return-1==s?null:i.getTLV(t,s)},Et.getVbyList=function(t,e,r,n,i){var s,o,a=Et;return-1==(s=a.getIdxbyList(t,e,r,n))||s>=t.length?null:(o=a.getV(t,s),!0===i&&(o=o.substr(2)),o)},Et.getVbyListEx=function(t,e,r,n,i){var s,o,a=Et;return-1==(s=a.getIdxbyListEx(t,e,r,n))?null:(o=a.getV(t,s),"03"==t.substr(s,2)&&!1!==i&&(o=o.substr(2)),o)},Et.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if("02"!=n&&"03"!=n)return r;var i=Et.getV(t,e);return"02"==n?parseInt(i,16):function(t){try{var e=t.substr(0,2);if("00"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return"0"==i&&(i="00000000"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},Et.getOID=function(t,e,r){null==r&&(r=null);try{return"06"!=t.substr(e,2)?r:function(t){if(!ht(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),s=[],o=0;o<i.length/2;o++)s.push(parseInt(i.substr(2*o,2),16));var a=[],u="";for(o=0;o<s.length;o++)128&s[o]?u+=lt((127&s[o]).toString(2),7):(u+=lt((127&s[o]).toString(2),7),a.push(new String(parseInt(u,2))),u="");var h=e.join(".");return a.length>0&&(h=h+"."+a.join(".")),h}catch(t){return null}}(Et.getV(t,e))}catch(t){return r}},Et.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=Et.getOID(t,e,r);if(n==r)return r;var i=o.asn1.x509.OID.oid2name(n);return""==i?n:i}catch(t){return r}},Et.getString=function(t,e,r){null==r&&(r=null);try{return rt(Et.getV(t,e))}catch(t){return r}},Et.hextooidstr=function(t){var e=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var s=t.substr(2),o=[],a=0;a<s.length/2;a++)o.push(parseInt(s.substr(2*a,2),16));var u=[],h="";for(a=0;a<o.length;a++)128&o[a]?h+=e((127&o[a]).toString(2),7):(h+=e((127&o[a]).toString(2),7),u.push(new String(parseInt(h,2))),h="");var c=r.join(".");return u.length>0&&(c=c+"."+u.join(".")),c},Et.dump=function(t,e,r,n){var i=Et,s=i.getV,a=i.dump,u=i.getChildIdx,h=t;t instanceof o.asn1.ASN1Object&&(h=t.getEncodedHex());var c=function(t,e){return t.length<=2*e?t:t.substr(0,e)+"..(total "+t.length/2+"bytes).."+t.substr(t.length-e,e)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n="");var l,f=e.ommit_long_octet;if("01"==(l=h.substr(r,2)))return"00"==(p=s(h,r))?n+"BOOLEAN FALSE\n":n+"BOOLEAN TRUE\n";if("02"==l)return n+"INTEGER "+c(p=s(h,r),f)+"\n";if("03"==l){var p=s(h,r);if(i.isASN1HEX(p.substr(2))){var d=n+"BITSTRING, encapsulates\n";return d+=a(p.substr(2),e,0,n+" ")}return n+"BITSTRING "+c(p,f)+"\n"}if("04"==l){p=s(h,r);if(i.isASN1HEX(p)){d=n+"OCTETSTRING, encapsulates\n";return d+=a(p,e,0,n+" ")}return n+"OCTETSTRING "+c(p,f)+"\n"}if("05"==l)return n+"NULL\n";if("06"==l){var g=s(h,r),v=o.asn1.ASN1Util.oidHexToInt(g),y=o.asn1.x509.OID.oid2name(v),m=v.replace(/\./g," ");return""!=y?n+"ObjectIdentifier "+y+" ("+m+")\n":n+"ObjectIdentifier ("+m+")\n"}if("0a"==l)return n+"ENUMERATED "+parseInt(s(h,r))+"\n";if("0c"==l)return n+"UTF8String '"+et(s(h,r))+"'\n";if("13"==l)return n+"PrintableString '"+et(s(h,r))+"'\n";if("14"==l)return n+"TeletexString '"+et(s(h,r))+"'\n";if("16"==l)return n+"IA5String '"+et(s(h,r))+"'\n";if("17"==l)return n+"UTCTime "+et(s(h,r))+"\n";if("18"==l)return n+"GeneralizedTime "+et(s(h,r))+"\n";if("1a"==l)return n+"VisualString '"+et(s(h,r))+"'\n";if("1e"==l)return n+"BMPString '"+ut(s(h,r))+"'\n";if("30"==l){if("3000"==h.substr(r,4))return n+"SEQUENCE {}\n";d=n+"SEQUENCE\n";var x=e;if((2==(E=u(h,r)).length||3==E.length)&&"06"==h.substr(E[0],2)&&"04"==h.substr(E[E.length-1],2)){y=i.oidname(s(h,E[0]));var b=JSON.parse(JSON.stringify(e));b.x509ExtName=y,x=b}for(var S=0;S<E.length;S++)d+=a(h,x,E[S],n+" ");return d}if("31"==l){d=n+"SET\n";var E=u(h,r);for(S=0;S<E.length;S++)d+=a(h,e,E[S],n+" ");return d}if(0!=(128&(l=parseInt(l,16)))){var w=31&l;if(0!=(32&l)){for(d=n+"["+w+"]\n",E=u(h,r),S=0;S<E.length;S++)d+=a(h,e,E[S],n+" ");return d}p=s(h,r);if(Et.isASN1HEX(p)){var d=n+"["+w+"]\n";return d+=a(p,e,0,n+" ")}return("68747470"==p.substr(0,8)||"subjectAltName"===e.x509ExtName&&2==w)&&(p=et(p)),d=n+"["+w+"] "+p+"\n"}return n+"UNKNOWN("+l+") "+s(h,r)+"\n"},Et.isContextTag=function(t,e){var r,n;t=t.toLowerCase();try{r=parseInt(t,16)}catch(t){return-1}if(void 0===e)return 128==(192&r);try{return null!=e.match(/^\[[0-9]+\]$/)&&(!((n=parseInt(e.substr(1,e.length-1),10))>31)&&(128==(192&r)&&(31&r)==n))}catch(t){return!1}},Et.isASN1HEX=function(t){var e=Et;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},Et.checkStrictDER=function(t,e,r,n,i){var s=Et;if(void 0===r){if("string"!=typeof t)throw new Error("not hex string");if(t=t.toLowerCase(),!o.lang.String.isHex(t))throw new Error("not hex string");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(s.getL(t,e).length>2*i)throw new Error("L of TLV too long: idx="+e);var a=s.getVblen(t,e);if(a>n)throw new Error("value of L too long than hex: idx="+e);var u=s.getTLV(t,e),h=u.length-2-s.getL(t,e).length;if(h!==2*a)throw new Error("V string length and L's value not the same:"+h+"/"+2*a);if(0===e&&t.length!=u.length)throw new Error("total length and TLV length unmatch:"+t.length+"!="+u.length);var c=t.substr(e,2);if("02"===c){var l=s.getVidx(t,e);if("00"==t.substr(l,2)&&t.charCodeAt(l+2)<56)throw new Error("not least zeros for DER INTEGER")}if(32&parseInt(c,16)){for(var f=s.getVblen(t,e),p=0,d=s.getChildIdx(t,e),g=0;g<d.length;g++){p+=s.getTLV(t,d[g]).length,s.checkStrictDER(t,d[g],r,n,i)}if(2*f!=p)throw new Error("sum of children's TLV length and L unmatch: "+2*f+"!="+p)}},Et.oidname=function(t){var e=o.asn1;o.lang.String.isHex(t)&&(t=e.ASN1Util.oidHexToInt(t));var r=e.x509.OID.oid2name(t);return""===r&&(r=t),r},void 0!==o.asn1&&o.asn1||(o.asn1={}),void 0!==o.asn1.x509&&o.asn1.x509||(o.asn1.x509={}),o.asn1.x509.Certificate=function(t){o.asn1.x509.Certificate.superclass.constructor.call(this);var e=o.asn1,r=e.DERBitString,n=e.DERSequence,i=e.x509,s=i.TBSCertificate,a=i.AlgorithmIdentifier;this.params=void 0,this.setByParam=function(t){this.params=t},this.sign=function(){var t=this.params,e=t.sigalg;null!=t.sigalg.name&&(e=t.sigalg.name);var r=t.tbsobj.getEncodedHex(),n=new o.crypto.Signature({alg:e});n.init(t.cakey),n.updateHex(r),t.sighex=n.sign()},this.getPEM=function(){return st(this.getEncodedHex(),"CERTIFICATE")},this.getEncodedHex=function(){var t=this.params;if(null!=t.tbsobj&&null!=t.tbsobj||(t.tbsobj=new s(t)),null==t.sighex&&null!=t.cakey&&this.sign(),null==t.sighex)throw new Error("sighex or cakey parameter not defined");var e=[];return e.push(t.tbsobj),e.push(new a({name:t.sigalg})),e.push(new r({hex:"00"+t.sighex})),new n({array:e}).getEncodedHex()},null!=t&&(this.params=t)},ft(o.asn1.x509.Certificate,o.asn1.ASN1Object),o.asn1.x509.TBSCertificate=function(t){o.asn1.x509.TBSCertificate.superclass.constructor.call(this);var e=o.asn1,r=e.x509,n=e.DERTaggedObject,i=e.DERInteger,s=e.DERSequence,a=r.AlgorithmIdentifier,u=r.Time,h=r.X500Name,c=r.Extensions,l=r.SubjectPublicKeyInfo;this.params=null,this.setByParam=function(t){this.params=t},this.getEncodedHex=function(){var t=[],e=this.params;if(null!=e.version||1!=e.version){var r=2;null!=e.version&&(r=e.version-1);var f=new n({obj:new i({int:r})});t.push(f)}return t.push(new i(e.serial)),t.push(new a({name:e.sigalg})),t.push(new h(e.issuer)),t.push(new s({array:[new u(e.notbefore),new u(e.notafter)]})),t.push(new h(e.subject)),t.push(new l(St.getKey(e.sbjpubkey))),void 0!==e.ext&&e.ext.length>0&&t.push(new n({tag:"a3",obj:new c(e.ext)})),new o.asn1.DERSequence({array:t}).getEncodedHex()},void 0!==t&&this.setByParam(t)},ft(o.asn1.x509.TBSCertificate,o.asn1.ASN1Object),o.asn1.x509.Extensions=function(t){o.asn1.x509.Extensions.superclass.constructor.call(this);var e=o.asn1,r=e.DERSequence,n=e.x509;this.aParam=[],this.setByParam=function(t){this.aParam=t},this.getEncodedHex=function(){for(var t=[],e=0;e<this.aParam.length;e++){var i=this.aParam[e],s=i.extname,o=null;if(null!=i.extn)o=new n.PrivateExtension(i);else if("subjectKeyIdentifier"==s)o=new n.SubjectKeyIdentifier(i);else if("keyUsage"==s)o=new n.KeyUsage(i);else if("subjectAltName"==s)o=new n.SubjectAltName(i);else if("issuerAltName"==s)o=new n.IssuerAltName(i);else if("basicConstraints"==s)o=new n.BasicConstraints(i);else if("cRLDistributionPoints"==s)o=new n.CRLDistributionPoints(i);else if("certificatePolicies"==s)o=new n.CertificatePolicies(i);else if("authorityKeyIdentifier"==s)o=new n.AuthorityKeyIdentifier(i);else if("extKeyUsage"==s)o=new n.ExtKeyUsage(i);else if("authorityInfoAccess"==s)o=new n.AuthorityInfoAccess(i);else if("cRLNumber"==s)o=new n.CRLNumber(i);else if("cRLReason"==s)o=new n.CRLReason(i);else if("ocspNonce"==s)o=new n.OCSPNonce(i);else if("ocspNoCheck"==s)o=new n.OCSPNoCheck(i);else if("adobeTimeStamp"==s)o=new n.AdobeTimeStamp(i);else{if("subjectDirectoryAttributes"!=s)throw new Error("extension not supported:"+JSON.stringify(i));o=new n.SubjectDirectoryAttributes(i)}null!=o&&t.push(o)}return new r({array:t}).getEncodedHex()},null!=t&&this.setByParam(t)},ft(o.asn1.x509.Extensions,o.asn1.ASN1Object),o.asn1.x509.Extension=function(t){o.asn1.x509.Extension.superclass.constructor.call(this);var e=o.asn1,r=e.DERObjectIdentifier,n=e.DEROctetString;e.DERBitString;var i=e.DERBoolean,s=e.DERSequence;this.getEncodedHex=function(){var t=new r({oid:this.oid}),e=new n({hex:this.getExtnValueHex()}),o=new Array;return o.push(t),this.critical&&o.push(new i),o.push(e),new s({array:o}).getEncodedHex()},this.critical=!1,void 0!==t&&void 0!==t.critical&&(this.critical=t.critical)},ft(o.asn1.x509.Extension,o.asn1.ASN1Object),o.asn1.x509.KeyUsage=function(t){o.asn1.x509.KeyUsage.superclass.constructor.call(this,t);var e=Nt.KEYUSAGE_NAME;if(this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.15",void 0!==t&&(void 0!==t.bin&&(this.asn1ExtnValue=new o.asn1.DERBitString(t)),void 0!==t.names&&void 0!==t.names.length)){for(var r=t.names,n="000000000",i=0;i<r.length;i++)for(var s=0;s<e.length;s++)r[i]===e[s]&&(n=n.substring(0,s)+"1"+n.substring(s+1,n.length));this.asn1ExtnValue=new o.asn1.DERBitString({bin:n})}},ft(o.asn1.x509.KeyUsage,o.asn1.x509.Extension),o.asn1.x509.BasicConstraints=function(t){o.asn1.x509.BasicConstraints.superclass.constructor.call(this,t);var e=o.asn1,r=e.DERBoolean,n=e.DERInteger,i=e.DERSequence;this.getExtnValueHex=function(){var t=new Array;this.cA&&t.push(new r),this.pathLen>-1&&t.push(new n({int:this.pathLen}));var e=new i({array:t});return this.asn1ExtnValue=e,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.19",this.cA=!1,this.pathLen=-1,void 0!==t&&(void 0!==t.cA&&(this.cA=t.cA),void 0!==t.pathLen&&(this.pathLen=t.pathLen))},ft(o.asn1.x509.BasicConstraints,o.asn1.x509.Extension),o.asn1.x509.CRLDistributionPoints=function(t){o.asn1.x509.CRLDistributionPoints.superclass.constructor.call(this,t);var e=o.asn1,r=e.x509;this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.setByDPArray=function(t){for(var n=[],i=0;i<t.length;i++)if(t[i]instanceof o.asn1.ASN1Object)n.push(t[i]);else{var s=new r.DistributionPoint(t[i]);n.push(s)}this.asn1ExtnValue=new e.DERSequence({array:n})},this.setByOneURI=function(t){var e=new r.DistributionPoint({fulluri:t});this.setByDPArray([e])},this.oid="2.5.29.31",void 0!==t&&(void 0!==t.array?this.setByDPArray(t.array):void 0!==t.uri&&this.setByOneURI(t.uri))},ft(o.asn1.x509.CRLDistributionPoints,o.asn1.x509.Extension),o.asn1.x509.DistributionPoint=function(t){o.asn1.x509.DistributionPoint.superclass.constructor.call(this);var e=o.asn1,r=e.x509.DistributionPointName;this.getEncodedHex=function(){var t=new e.DERSequence;if(null!=this.asn1DP){var r=new e.DERTaggedObject({explicit:!0,tag:"a0",obj:this.asn1DP});t.appendASN1Object(r)}return this.hTLV=t.getEncodedHex(),this.hTLV},void 0!==t&&(void 0!==t.dpobj?this.asn1DP=t.dpobj:void 0!==t.dpname?this.asn1DP=new r(t.dpname):void 0!==t.fulluri&&(this.asn1DP=new r({full:[{uri:t.fulluri}]})))},ft(o.asn1.x509.DistributionPoint,o.asn1.ASN1Object),o.asn1.x509.DistributionPointName=function(t){o.asn1.x509.DistributionPointName.superclass.constructor.call(this);var e=o.asn1,r=e.DERTaggedObject;if(this.getEncodedHex=function(){if("full"!=this.type)throw new Error("currently type shall be 'full': "+this.type);return this.asn1Obj=new r({explicit:!1,tag:this.tag,obj:this.asn1V}),this.hTLV=this.asn1Obj.getEncodedHex(),this.hTLV},void 0!==t)if(e.x509.GeneralNames.prototype.isPrototypeOf(t))this.type="full",this.tag="a0",this.asn1V=t;else{if(void 0===t.full)throw new Error("This class supports GeneralNames only as argument");this.type="full",this.tag="a0",this.asn1V=new e.x509.GeneralNames(t.full)}},ft(o.asn1.x509.DistributionPointName,o.asn1.ASN1Object),o.asn1.x509.CertificatePolicies=function(t){o.asn1.x509.CertificatePolicies.superclass.constructor.call(this,t);var e=o.asn1,r=e.x509,n=e.DERSequence,i=r.PolicyInformation;this.params=null,this.getExtnValueHex=function(){for(var t=[],e=0;e<this.params.array.length;e++)t.push(new i(this.params.array[e]));var r=new n({array:t});return this.asn1ExtnValue=r,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.32",void 0!==t&&(this.params=t)},ft(o.asn1.x509.CertificatePolicies,o.asn1.x509.Extension),o.asn1.x509.PolicyInformation=function(t){o.asn1.x509.PolicyInformation.superclass.constructor.call(this,t);var e=o.asn1,r=e.DERSequence,n=e.DERObjectIdentifier,i=e.x509.PolicyQualifierInfo;this.params=null,this.getEncodedHex=function(){if(void 0===this.params.policyoid&&void 0===this.params.array)throw new Error("parameter oid and array missing");var t=[new n(this.params.policyoid)];if(void 0!==this.params.array){for(var e=[],s=0;s<this.params.array.length;s++)e.push(new i(this.params.array[s]));e.length>0&&t.push(new r({array:e}))}return new r({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},ft(o.asn1.x509.PolicyInformation,o.asn1.ASN1Object),o.asn1.x509.PolicyQualifierInfo=function(t){o.asn1.x509.PolicyQualifierInfo.superclass.constructor.call(this,t);var e=o.asn1,r=e.DERSequence,n=e.DERIA5String,i=e.DERObjectIdentifier,s=e.x509.UserNotice;this.params=null,this.getEncodedHex=function(){return void 0!==this.params.cps?new r({array:[new i({oid:"1.3.6.1.5.5.7.2.1"}),new n({str:this.params.cps})]}).getEncodedHex():null!=this.params.unotice?new r({array:[new i({oid:"1.3.6.1.5.5.7.2.2"}),new s(this.params.unotice)]}).getEncodedHex():void 0},void 0!==t&&(this.params=t)},ft(o.asn1.x509.PolicyQualifierInfo,o.asn1.ASN1Object),o.asn1.x509.UserNotice=function(t){o.asn1.x509.UserNotice.superclass.constructor.call(this,t);var e=o.asn1.DERSequence;o.asn1.DERInteger;var r=o.asn1.x509.DisplayText,n=o.asn1.x509.NoticeReference;this.params=null,this.getEncodedHex=function(){var t=[];return void 0!==this.params.noticeref&&t.push(new n(this.params.noticeref)),void 0!==this.params.exptext&&t.push(new r(this.params.exptext)),new e({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},ft(o.asn1.x509.UserNotice,o.asn1.ASN1Object),o.asn1.x509.NoticeReference=function(t){o.asn1.x509.NoticeReference.superclass.constructor.call(this,t);var e=o.asn1.DERSequence,r=o.asn1.DERInteger,n=o.asn1.x509.DisplayText;this.params=null,this.getEncodedHex=function(){var t=[];if(void 0!==this.params.org&&t.push(new n(this.params.org)),void 0!==this.params.noticenum){for(var i=[],s=this.params.noticenum,o=0;o<s.length;o++)i.push(new r(s[o]));t.push(new e({array:i}))}if(0==t.length)throw new Error("parameter is empty");return new e({array:t}).getEncodedHex()},void 0!==t&&(this.params=t)},ft(o.asn1.x509.NoticeReference,o.asn1.ASN1Object),o.asn1.x509.DisplayText=function(t){o.asn1.x509.DisplayText.superclass.constructor.call(this,t),this.hT="0c",void 0!==t&&("ia5"===t.type?this.hT="16":"vis"===t.type?this.hT="1a":"bmp"===t.type&&(this.hT="1e"))},ft(o.asn1.x509.DisplayText,o.asn1.DERAbstractString),o.asn1.x509.ExtKeyUsage=function(t){o.asn1.x509.ExtKeyUsage.superclass.constructor.call(this,t);var e=o.asn1;this.setPurposeArray=function(t){this.asn1ExtnValue=new e.DERSequence;for(var r=0;r<t.length;r++){var n=new e.DERObjectIdentifier(t[r]);this.asn1ExtnValue.appendASN1Object(n)}},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.37",void 0!==t&&void 0!==t.array&&this.setPurposeArray(t.array)},ft(o.asn1.x509.ExtKeyUsage,o.asn1.x509.Extension),o.asn1.x509.AuthorityKeyIdentifier=function(t){o.asn1.x509.AuthorityKeyIdentifier.superclass.constructor.call(this,t);var e=o,r=e.asn1,n=r.DERTaggedObject,i=r.x509.GeneralNames;e.crypto.Util.isKey,this.asn1KID=null,this.asn1CertIssuer=null,this.asn1CertSN=null,this.getExtnValueHex=function(){var t=new Array;this.asn1KID&&t.push(new n({explicit:!1,tag:"80",obj:this.asn1KID})),this.asn1CertIssuer&&t.push(new n({explicit:!1,tag:"a1",obj:new i([{dn:this.asn1CertIssuer}])})),this.asn1CertSN&&t.push(new n({explicit:!1,tag:"82",obj:this.asn1CertSN}));var e=new r.DERSequence({array:t});return this.asn1ExtnValue=e,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(t){if(void 0!==t.str||void 0!==t.hex)this.asn1KID=new o.asn1.DEROctetString(t);else if("object"==typeof t&&o.crypto.Util.isKey(t)||"string"==typeof t&&-1!=t.indexOf("BEGIN ")){var e=t;"string"==typeof t&&(e=St.getKey(t));var r=St.getKeyID(e);this.asn1KID=new o.asn1.DEROctetString({hex:r})}},this.setCertIssuerByParam=function(t){void 0!==t.str||void 0!==t.ldapstr||void 0!==t.hex||void 0!==t.certsubject||void 0!==t.certissuer?this.asn1CertIssuer=new o.asn1.x509.X500Name(t):"string"==typeof t&&-1!=t.indexOf("BEGIN ")&&-1!=t.indexOf("CERTIFICATE")&&(this.asn1CertIssuer=new o.asn1.x509.X500Name({certissuer:t}))},this.setCertSNByParam=function(t){if(void 0!==t.str||void 0!==t.bigint||void 0!==t.hex)this.asn1CertSN=new o.asn1.DERInteger(t);else if("string"==typeof t&&-1!=t.indexOf("BEGIN ")&&t.indexOf("CERTIFICATE")){var e=new Nt;e.readCertPEM(t);var r=e.getSerialNumberHex();this.asn1CertSN=new o.asn1.DERInteger({hex:r})}},this.oid="2.5.29.35",void 0!==t&&(void 0!==t.kid&&this.setKIDByParam(t.kid),void 0!==t.issuer&&this.setCertIssuerByParam(t.issuer),void 0!==t.sn&&this.setCertSNByParam(t.sn),void 0!==t.issuersn&&"string"==typeof t.issuersn&&-1!=t.issuersn.indexOf("BEGIN ")&&t.issuersn.indexOf("CERTIFICATE")&&(this.setCertSNByParam(t.issuersn),this.setCertIssuerByParam(t.issuersn)))},ft(o.asn1.x509.AuthorityKeyIdentifier,o.asn1.x509.Extension),o.asn1.x509.SubjectKeyIdentifier=function(t){o.asn1.x509.SubjectKeyIdentifier.superclass.constructor.call(this,t);var e=o.asn1.DEROctetString;this.asn1KID=null,this.getExtnValueHex=function(){return this.asn1ExtnValue=this.asn1KID,this.asn1ExtnValue.getEncodedHex()},this.setKIDByParam=function(t){if(void 0!==t.str||void 0!==t.hex)this.asn1KID=new e(t);else if("object"==typeof t&&o.crypto.Util.isKey(t)||"string"==typeof t&&-1!=t.indexOf("BEGIN")){var r=t;"string"==typeof t&&(r=St.getKey(t));var n=St.getKeyID(r);this.asn1KID=new o.asn1.DEROctetString({hex:n})}},this.oid="2.5.29.14",void 0!==t&&void 0!==t.kid&&this.setKIDByParam(t.kid)},ft(o.asn1.x509.SubjectKeyIdentifier,o.asn1.x509.Extension),o.asn1.x509.AuthorityInfoAccess=function(t){o.asn1.x509.AuthorityInfoAccess.superclass.constructor.call(this,t),this.setAccessDescriptionArray=function(t){for(var e=new Array,r=o.asn1,n=r.DERSequence,i=r.DERObjectIdentifier,s=r.x509.GeneralName,a=0;a<t.length;a++){var u,h=t[a];if(void 0!==h.ocsp)u=new n({array:[new i({oid:"1.3.6.1.5.5.7.48.1"}),new s({uri:h.ocsp})]});else{if(void 0===h.caissuer)throw new Error("unknown AccessMethod parameter: "+JSON.stringify(h));u=new n({array:[new i({oid:"1.3.6.1.5.5.7.48.2"}),new s({uri:h.caissuer})]})}e.push(u)}this.asn1ExtnValue=new n({array:e})},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.1.1",void 0!==t&&void 0!==t.array&&this.setAccessDescriptionArray(t.array)},ft(o.asn1.x509.AuthorityInfoAccess,o.asn1.x509.Extension),o.asn1.x509.SubjectAltName=function(t){o.asn1.x509.SubjectAltName.superclass.constructor.call(this,t),this.setNameArray=function(t){this.asn1ExtnValue=new o.asn1.x509.GeneralNames(t)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.17",void 0!==t&&void 0!==t.array&&this.setNameArray(t.array)},ft(o.asn1.x509.SubjectAltName,o.asn1.x509.Extension),o.asn1.x509.IssuerAltName=function(t){o.asn1.x509.IssuerAltName.superclass.constructor.call(this,t),this.setNameArray=function(t){this.asn1ExtnValue=new o.asn1.x509.GeneralNames(t)},this.getExtnValueHex=function(){return this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.18",void 0!==t&&void 0!==t.array&&this.setNameArray(t.array)},ft(o.asn1.x509.IssuerAltName,o.asn1.x509.Extension),o.asn1.x509.SubjectDirectoryAttributes=function(t){o.asn1.x509.SubjectDirectoryAttributes.superclass.constructor.call(this,t);var e=o.asn1,r=e.DERSequence,n=e.ASN1Util.newObject,i=e.x509.OID.name2oid;this.params=null,this.getExtnValueHex=function(){for(var t=[],e=0;e<this.params.array.length;e++){var s=this.params.array[e],o={seq:[{oid:"1.2.3.4"},{set:[{utf8str:"DE"}]}]};if("dateOfBirth"==s.attr)o.seq[0].oid=i(s.attr),o.seq[1].set[0]={gentime:s.str};else if("placeOfBirth"==s.attr)o.seq[0].oid=i(s.attr),o.seq[1].set[0]={utf8str:s.str};else if("gender"==s.attr)o.seq[0].oid=i(s.attr),o.seq[1].set[0]={prnstr:s.str};else if("countryOfCitizenship"==s.attr)o.seq[0].oid=i(s.attr),o.seq[1].set[0]={prnstr:s.str};else{if("countryOfResidence"!=s.attr)throw new Error("unsupported attribute: "+s.attr);o.seq[0].oid=i(s.attr),o.seq[1].set[0]={prnstr:s.str}}t.push(new n(o))}var a=new r({array:t});return this.asn1ExtnValue=a,this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.9",void 0!==t&&(this.params=t)},ft(o.asn1.x509.SubjectDirectoryAttributes,o.asn1.x509.Extension),o.asn1.x509.PrivateExtension=function(t){o.asn1.x509.PrivateExtension.superclass.constructor.call(this,t);var e=o,r=e.lang.String.isHex,n=e.asn1,i=n.x509.OID.name2oid,s=n.ASN1Util.newObject;this.params=null,this.setByParam=function(t){this.oid=i(t.extname),this.params=t},this.getExtnValueHex=function(){if(null==this.params.extname||null==this.params.extn)throw new Error("extname or extnhex not specified");var t=this.params.extn;if("string"==typeof t&&r(t))return t;if("object"==typeof t)try{return s(t).getEncodedHex()}catch(t){}throw new Error("unsupported extn value")},null!=t&&this.setByParam(t)},ft(o.asn1.x509.PrivateExtension,o.asn1.x509.Extension),o.asn1.x509.CRL=function(t){o.asn1.x509.CRL.superclass.constructor.call(this);var e=o.asn1,r=e.DERSequence,n=e.DERBitString,i=e.x509,s=i.AlgorithmIdentifier,a=i.TBSCertList;this.params=void 0,this.setByParam=function(t){this.params=t},this.sign=function(){var t=new a(this.params).getEncodedHex(),e=new o.crypto.Signature({alg:this.params.sigalg});e.init(this.params.cakey),e.updateHex(t);var r=e.sign();this.params.sighex=r},this.getPEM=function(){return st(this.getEncodedHex(),"X509 CRL")},this.getEncodedHex=function(){var t=this.params;if(null==t.tbsobj&&(t.tbsobj=new a(t)),null==t.sighex&&null!=t.cakey&&this.sign(),null==t.sighex)throw new Error("sighex or cakey parameter not defined");var e=[];return e.push(t.tbsobj),e.push(new s({name:t.sigalg})),e.push(new n({hex:"00"+t.sighex})),new r({array:e}).getEncodedHex()},null!=t&&(this.params=t)},ft(o.asn1.x509.CRL,o.asn1.ASN1Object),o.asn1.x509.TBSCertList=function(t){o.asn1.x509.TBSCertList.superclass.constructor.call(this);var e=o.asn1,r=e.DERInteger,n=e.DERSequence,i=e.DERTaggedObject;e.DERObjectIdentifier;var s=e.x509,a=s.AlgorithmIdentifier,u=s.Time,h=s.Extensions,c=s.X500Name;this.params=null,this.setByParam=function(t){this.params=t},this.getRevCertSequence=function(){for(var t=[],e=this.params.revcert,i=0;i<e.length;i++){var s=[new r(e[i].sn),new u(e[i].date)];null!=e[i].ext&&s.push(new h(e[i].ext)),t.push(new n({array:s}))}return new n({array:t})},this.getEncodedHex=function(){var t=[],e=this.params;if(null!=e.version){var s=e.version-1,o=new r({int:s});t.push(o)}if(t.push(new a({name:e.sigalg})),t.push(new c(e.issuer)),t.push(new u(e.thisupdate)),null!=e.nextupdate&&t.push(new u(e.nextupdate)),null!=e.revcert&&t.push(this.getRevCertSequence()),null!=e.ext){var l=new h(e.ext);t.push(new i({tag:"a0",explicit:!0,obj:l}))}return new n({array:t}).getEncodedHex()},void 0!==t&&this.setByParam(t)},ft(o.asn1.x509.TBSCertList,o.asn1.ASN1Object),o.asn1.x509.CRLEntry=function(t){o.asn1.x509.CRLEntry.superclass.constructor.call(this);var e=o.asn1;this.setCertSerial=function(t){this.sn=new e.DERInteger(t)},this.setRevocationDate=function(t){this.time=new e.x509.Time(t)},this.getEncodedHex=function(){var t=new e.DERSequence({array:[this.sn,this.time]});return this.TLV=t.getEncodedHex(),this.TLV},void 0!==t&&(void 0!==t.time&&this.setRevocationDate(t.time),void 0!==t.sn&&this.setCertSerial(t.sn))},ft(o.asn1.x509.CRLEntry,o.asn1.ASN1Object),o.asn1.x509.CRLNumber=function(t){o.asn1.x509.CRLNumber.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new o.asn1.DERInteger(this.params.num),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.20",null!=t&&(this.params=t)},ft(o.asn1.x509.CRLNumber,o.asn1.x509.Extension),o.asn1.x509.CRLReason=function(t){o.asn1.x509.CRLReason.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new o.asn1.DEREnumerated(this.params.code),this.asn1ExtnValue.getEncodedHex()},this.oid="2.5.29.21",null!=t&&(this.params=t)},ft(o.asn1.x509.CRLReason,o.asn1.x509.Extension),o.asn1.x509.OCSPNonce=function(t){o.asn1.x509.OCSPNonce.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new o.asn1.DEROctetString(this.params),this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.2",null!=t&&(this.params=t)},ft(o.asn1.x509.OCSPNonce,o.asn1.x509.Extension),o.asn1.x509.OCSPNoCheck=function(t){o.asn1.x509.OCSPNoCheck.superclass.constructor.call(this,t),this.params=void 0,this.getExtnValueHex=function(){return this.asn1ExtnValue=new o.asn1.DERNull,this.asn1ExtnValue.getEncodedHex()},this.oid="1.3.6.1.5.5.7.48.1.5",null!=t&&(this.params=t)},ft(o.asn1.x509.OCSPNoCheck,o.asn1.x509.Extension),o.asn1.x509.AdobeTimeStamp=function(t){o.asn1.x509.AdobeTimeStamp.superclass.constructor.call(this,t);var e=o.asn1,r=e.DERInteger,n=e.DERBoolean,i=e.DERSequence,s=e.x509.GeneralName;this.params=null,this.getExtnValueHex=function(){var t=this.params,e=[new r(1)];return e.push(new s({uri:t.uri})),null!=t.reqauth&&e.push(new n(t.reqauth)),this.asn1ExtnValue=new i({array:e}),this.asn1ExtnValue.getEncodedHex()},this.oid="1.2.840.113583.1.1.9.1",void 0!==t&&this.setByParam(t)},ft(o.asn1.x509.AdobeTimeStamp,o.asn1.x509.Extension),o.asn1.x509.X500Name=function(t){o.asn1.x509.X500Name.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var e=o.asn1,r=e.x509,n=r.RDN;this.setByString=function(t,e){void 0!==e&&(this.sRule=e);var r=t.split("/");r.shift();for(var i=[],s=0;s<r.length;s++)if(r[s].match(/^[^=]+=.+$/))i.push(r[s]);else{var o=i.length-1;i[o]=i[o]+"/"+r[s]}for(s=0;s<i.length;s++)this.asn1Array.push(new n({str:i[s],rule:this.sRule}))},this.setByLdapString=function(t,e){void 0!==e&&(this.sRule=e);var n=r.X500Name.ldapToCompat(t);this.setByString(n,e)},this.setByObject=function(t,e){for(var r in void 0!==e&&(this.sRule=e),t)if(t.hasOwnProperty(r)){var i=new n({str:r+"="+t[r],rule:this.sRule});this.asn1Array?this.asn1Array.push(i):this.asn1Array=[i]}},this.setByParam=function(t){var e;(void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.array)?this.paramArray=t.array:void 0!==t.str?this.setByString(t.str):void 0!==t.ldapstr?this.setByLdapString(t.ldapstr):void 0!==t.hex?this.hTLV=t.hex:void 0!==t.certissuer?((e=new Nt).readCertPEM(t.certissuer),this.hTLV=e.getIssuerHex()):void 0!==t.certsubject?((e=new Nt).readCertPEM(t.certsubject),this.hTLV=e.getSubjectHex()):"object"==typeof t&&void 0===t.certsubject&&void 0===t.certissuer&&this.setByObject(t)},this.getEncodedHex=function(){if("string"==typeof this.hTLV)return this.hTLV;if(0==this.asn1Array.length&&this.paramArray.length>0)for(var t=0;t<this.paramArray.length;t++){var r={array:this.paramArray[t]};"utf8"!=this.sRule&&(r.rule=this.sRule);var i=new n(r);this.asn1Array.push(i)}var s=new e.DERSequence({array:this.asn1Array});return this.hTLV=s.getEncodedHex(),this.hTLV},void 0!==t&&this.setByParam(t)},ft(o.asn1.x509.X500Name,o.asn1.ASN1Object),o.asn1.x509.X500Name.compatToLDAP=function(t){if("/"!==t.substr(0,1))throw"malformed input";var e=(t=t.substr(1)).split("/");return e.reverse(),(e=e.map((function(t){return t.replace(/,/,"\\,")}))).join(",")},o.asn1.x509.X500Name.onelineToLDAP=function(t){return o.asn1.x509.X500Name.compatToLDAP(t)},o.asn1.x509.X500Name.ldapToCompat=function(t){for(var e=t.split(","),r=!1,n=[],i=0;e.length>0;i++){var s=e.shift();if(!0===r){var o=(n.pop()+","+s).replace(/\\,/g,",");n.push(o),r=!1}else n.push(s);"\\"===s.substr(-1,1)&&(r=!0)}return(n=n.map((function(t){return t.replace("/","\\/")}))).reverse(),"/"+n.join("/")},o.asn1.x509.X500Name.ldapToOneline=function(t){return o.asn1.x509.X500Name.ldapToCompat(t)},o.asn1.x509.RDN=function(t){o.asn1.x509.RDN.superclass.constructor.call(this),this.asn1Array=[],this.paramArray=[],this.sRule="utf8";var e=o.asn1.x509.AttributeTypeAndValue;this.setByParam=function(t){void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.str&&this.addByMultiValuedString(t.str),void 0!==t.array&&(this.paramArray=t.array)},this.addByString=function(t){this.asn1Array.push(new o.asn1.x509.AttributeTypeAndValue({str:t,rule:this.sRule}))},this.addByMultiValuedString=function(t){for(var e=o.asn1.x509.RDN.parseString(t),r=0;r<e.length;r++)this.addByString(e[r])},this.getEncodedHex=function(){if(0==this.asn1Array.length&&this.paramArray.length>0)for(var t=0;t<this.paramArray.length;t++){var r=this.paramArray[t];void 0!==r.rule&&"utf8"!=this.sRule&&(r.rule=this.sRule);var n=new e(r);this.asn1Array.push(n)}var i=new o.asn1.DERSet({array:this.asn1Array});return this.TLV=i.getEncodedHex(),this.TLV},void 0!==t&&this.setByParam(t)},ft(o.asn1.x509.RDN,o.asn1.ASN1Object),o.asn1.x509.RDN.parseString=function(t){for(var e=t.split(/\+/),r=!1,n=[],i=0;e.length>0;i++){var s=e.shift();if(!0===r){var o=(n.pop()+"+"+s).replace(/\\\+/g,"+");n.push(o),r=!1}else n.push(s);"\\"===s.substr(-1,1)&&(r=!0)}var a=!1,u=[];for(i=0;n.length>0;i++){s=n.shift();if(!0===a){var h=u.pop();if(s.match(/"$/)){o=(h+"+"+s).replace(/^([^=]+)="(.*)"$/,"$1=$2");u.push(o),a=!1}else u.push(h+"+"+s)}else u.push(s);s.match(/^[^=]+="/)&&(a=!0)}return u},o.asn1.x509.AttributeTypeAndValue=function(t){o.asn1.x509.AttributeTypeAndValue.superclass.constructor.call(this),this.sRule="utf8",this.sType=null,this.sValue=null,this.dsType=null;var e=o,r=e.asn1,n=r.DERSequence,i=r.DERUTF8String,s=r.DERPrintableString,a=r.DERTeletexString,u=r.DERIA5String,h=r.DERVisibleString,c=r.DERBMPString,l=e.lang.String.isMail,f=e.lang.String.isPrintable;this.setByParam=function(t){if(void 0!==t.rule&&(this.sRule=t.rule),void 0!==t.ds&&(this.dsType=t.ds),void 0===t.value&&void 0!==t.str){var e=t.str.match(/^([^=]+)=(.+)$/);if(!e)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.sType=e[1],this.sValue=e[2]}else this.sType=t.type,this.sValue=t.value},this.setByString=function(t,e){void 0!==e&&(this.sRule=e);var r=t.match(/^([^=]+)=(.+)$/);if(!r)throw new Error("malformed attrTypeAndValueStr: "+attrTypeAndValueStr);this.setByAttrTypeAndValueStr(r[1],r[2])},this._getDsType=function(){var t=this.sType,e=this.sValue,r=this.sRule;return"prn"===r?"CN"==t&&l(e)?"ia5":f(e)?"prn":"utf8":"utf8"===r?"CN"==t&&l(e)?"ia5":"C"==t?"prn":"utf8":"utf8"},this.setByAttrTypeAndValueStr=function(t,e,r){void 0!==r&&(this.sRule=r),this.sType=t,this.sValue=e},this.getValueObj=function(t,e){if("utf8"==t)return new i({str:e});if("prn"==t)return new s({str:e});if("tel"==t)return new a({str:e});if("ia5"==t)return new u({str:e});if("vis"==t)return new h({str:e});if("bmp"==t)return new c({str:e});throw new Error("unsupported directory string type: type="+t+" value="+e)},this.getEncodedHex=function(){null==this.dsType&&(this.dsType=this._getDsType());var t=o.asn1.x509.OID.atype2obj(this.sType),e=this.getValueObj(this.dsType,this.sValue),r=new n({array:[t,e]});return this.TLV=r.getEncodedHex(),this.TLV},void 0!==t&&this.setByParam(t)},ft(o.asn1.x509.AttributeTypeAndValue,o.asn1.ASN1Object),o.asn1.x509.SubjectPublicKeyInfo=function(t){o.asn1.x509.SubjectPublicKeyInfo.superclass.constructor.call(this);var e=o,r=e.asn1,n=r.DERInteger,i=r.DERBitString,s=r.DERObjectIdentifier,a=r.DERSequence,u=r.ASN1Util.newObject,h=r.x509.AlgorithmIdentifier,c=e.crypto;c.ECDSA,c.DSA,this.getASN1Object=function(){if(null==this.asn1AlgId||null==this.asn1SubjPKey)throw"algId and/or subjPubKey not set";return new a({array:[this.asn1AlgId,this.asn1SubjPKey]})},this.getEncodedHex=function(){var t=this.getASN1Object();return this.hTLV=t.getEncodedHex(),this.hTLV},this.setPubKey=function(t){try{if(t instanceof Q){var e=u({seq:[{int:{bigint:t.n}},{int:{int:t.e}}]}).getEncodedHex();this.asn1AlgId=new h({name:"rsaEncryption"}),this.asn1SubjPKey=new i({hex:"00"+e})}}catch(t){}try{if(t instanceof o.crypto.ECDSA){var r=new s({name:t.curveName});this.asn1AlgId=new h({name:"ecPublicKey",asn1params:r}),this.asn1SubjPKey=new i({hex:"00"+t.pubKeyHex})}}catch(t){}try{if(t instanceof o.crypto.DSA){r=new u({seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]});this.asn1AlgId=new h({name:"dsa",asn1params:r});var a=new n({bigint:t.y});this.asn1SubjPKey=new i({hex:"00"+a.getEncodedHex()})}}catch(t){}},void 0!==t&&this.setPubKey(t)},ft(o.asn1.x509.SubjectPublicKeyInfo,o.asn1.ASN1Object),o.asn1.x509.Time=function(t){o.asn1.x509.Time.superclass.constructor.call(this);var e=o.asn1,r=e.DERUTCTime,n=e.DERGeneralizedTime;this.setTimeParams=function(t){this.timeParams=t},this.getEncodedHex=function(){var t=null;return t=null!=this.timeParams?"utc"==this.type?new r(this.timeParams):new n(this.timeParams):"utc"==this.type?new r:new n,this.TLV=t.getEncodedHex(),this.TLV},this.type="utc",void 0!==t&&(void 0!==t.type?this.type=t.type:void 0!==t.str&&(t.str.match(/^[0-9]{12}Z$/)&&(this.type="utc"),t.str.match(/^[0-9]{14}Z$/)&&(this.type="gen")),this.timeParams=t)},ft(o.asn1.x509.Time,o.asn1.ASN1Object),o.asn1.x509.AlgorithmIdentifier=function(t){o.asn1.x509.AlgorithmIdentifier.superclass.constructor.call(this),this.nameAlg=null,this.asn1Alg=null,this.asn1Params=null,this.paramEmpty=!1;var e=o.asn1,r=e.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV;if(this.getEncodedHex=function(){if(null===this.nameAlg&&null===this.asn1Alg)throw new Error("algorithm not specified");if(null!==this.nameAlg){var t=null;for(var n in r)n===this.nameAlg&&(t=r[n]);if(null!==t)return this.hTLV=t,this.hTLV}null!==this.nameAlg&&null===this.asn1Alg&&(this.asn1Alg=e.x509.OID.name2obj(this.nameAlg));var i=[this.asn1Alg];null!==this.asn1Params&&i.push(this.asn1Params);var s=new e.DERSequence({array:i});return this.hTLV=s.getEncodedHex(),this.hTLV},void 0!==t&&(void 0!==t.name&&(this.nameAlg=t.name),void 0!==t.asn1params&&(this.asn1Params=t.asn1params),void 0!==t.paramempty&&(this.paramEmpty=t.paramempty)),null===this.asn1Params&&!1===this.paramEmpty&&null!==this.nameAlg){void 0!==this.nameAlg.name&&(this.nameAlg=this.nameAlg.name);var n=this.nameAlg.toLowerCase();"withdsa"!==n.substr(-7,7)&&"withecdsa"!==n.substr(-9,9)&&(this.asn1Params=new e.DERNull)}},ft(o.asn1.x509.AlgorithmIdentifier,o.asn1.ASN1Object),o.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV={SHAwithRSAandMGF1:"300d06092a864886f70d01010a3000",SHA256withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040201a11a301806092a864886f70d010108300b0609608648016503040201a203020120",SHA384withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040202a11a301806092a864886f70d010108300b0609608648016503040202a203020130",SHA512withRSAandMGF1:"303d06092a864886f70d01010a3030a00d300b0609608648016503040203a11a301806092a864886f70d010108300b0609608648016503040203a203020140"},o.asn1.x509.GeneralName=function(t){o.asn1.x509.GeneralName.superclass.constructor.call(this);var e={rfc822:"81",dns:"82",dn:"a4",uri:"86",ip:"87"},r=o.asn1;r.DERSequence;var n=r.DEROctetString,i=r.DERIA5String,s=r.DERTaggedObject,a=r.ASN1Object,u=r.x509.X500Name,h=ot;this.explicit=!1,this.setByParam=function(t){var r=null;if(void 0!==t){if(void 0!==t.rfc822&&(this.type="rfc822",r=new i({str:t[this.type]})),void 0!==t.dns&&(this.type="dns",r=new i({str:t[this.type]})),void 0!==t.uri&&(this.type="uri",r=new i({str:t[this.type]})),void 0!==t.dn&&(this.type="dn",this.explicit=!0,r="string"==typeof t.dn?new u({str:t.dn}):t.dn instanceof o.asn1.x509.X500Name?t.dn:new u(t.dn)),void 0!==t.ldapdn&&(this.type="dn",this.explicit=!0,r=new u({ldapstr:t.ldapdn})),void 0!==t.certissuer){this.type="dn",this.explicit=!0;var c=null;if((f=t.certissuer).match(/^[0-9A-Fa-f]+$/),-1!=f.indexOf("-----BEGIN ")&&(c=h(f)),null==c)throw"certissuer param not cert";(p=new Nt).hex=c;var l=p.getIssuerHex();(r=new a).hTLV=l}if(void 0!==t.certsubj){this.type="dn",this.explicit=!0;var f,p;c=null;if((f=t.certsubj).match(/^[0-9A-Fa-f]+$/),-1!=f.indexOf("-----BEGIN ")&&(c=h(f)),null==c)throw"certsubj param not cert";(p=new Nt).hex=c;l=p.getSubjectHex();(r=new a).hTLV=l}if(void 0!==t.ip){this.type="ip",this.explicit=!1;var d,g=t.ip,v="malformed IP address";if(g.match(/^[0-9.]+[.][0-9.]+$/)){if(d=function(t){t=(t=(t=t.replace(/^\s*\[\s*/,"")).replace(/\s*\]\s*$/,"")).replace(/\s*/g,"");try{return t.split(/,/).map((function(t,e,r){var n=parseInt(t);if(n<0||255<n)throw"integer not in range 0-255";return("00"+n.toString(16)).slice(-2)})).join("")}catch(t){throw"malformed integer array string: "+t}}("["+g.split(".").join(",")+"]"),8!==d.length)throw v}else if(g.match(/^[0-9A-Fa-f:]+:[0-9A-Fa-f:]+$/))d=function(t){var e="malformed IPv6 address";if(!t.match(/^[0-9A-Fa-f:]+$/))throw e;var r=(t=t.toLowerCase()).split(":").length-1;if(r<2)throw e;var n=":".repeat(7-r+2),i=(t=t.replace("::",n)).split(":");if(8!=i.length)throw e;for(var s=0;s<8;s++)i[s]=("0000"+i[s]).slice(-4);return i.join("")}(g);else{if(!g.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw v;d=g}r=new n({hex:d})}if(null==this.type)throw"unsupported type in params="+t;this.asn1Obj=new s({explicit:this.explicit,tag:e[this.type],obj:r})}},this.getEncodedHex=function(){return this.asn1Obj.getEncodedHex()},void 0!==t&&this.setByParam(t)},ft(o.asn1.x509.GeneralName,o.asn1.ASN1Object),o.asn1.x509.GeneralNames=function(t){o.asn1.x509.GeneralNames.superclass.constructor.call(this);var e=o.asn1;this.setByParamArray=function(t){for(var r=0;r<t.length;r++){var n=new e.x509.GeneralName(t[r]);this.asn1Array.push(n)}},this.getEncodedHex=function(){return new e.DERSequence({array:this.asn1Array}).getEncodedHex()},this.asn1Array=new Array,void 0!==t&&this.setByParamArray(t)},ft(o.asn1.x509.GeneralNames,o.asn1.ASN1Object),o.asn1.x509.OID=new function(t){this.atype2oidList={CN:"2.5.4.3",L:"2.5.4.7",ST:"2.5.4.8",O:"2.5.4.10",OU:"2.5.4.11",C:"2.5.4.6",STREET:"2.5.4.9",DC:"0.9.2342.19200300.100.1.25",UID:"0.9.2342.19200300.100.1.1",SN:"2.5.4.4",T:"2.5.4.12",DN:"2.5.4.49",E:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",serialNumber:"2.5.4.5",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3"},this.name2oidList={sha1:"1.3.14.3.2.26",sha256:"2.16.840.1.101.3.4.2.1",sha384:"2.16.840.1.101.3.4.2.2",sha512:"2.16.840.1.101.3.4.2.3",sha224:"2.16.840.1.101.3.4.2.4",md5:"1.2.840.113549.2.5",md2:"1.3.14.7.2.2.1",ripemd160:"1.3.36.3.2.1",MD2withRSA:"1.2.840.113549.1.1.2",MD4withRSA:"1.2.840.113549.1.1.3",MD5withRSA:"1.2.840.113549.1.1.4",SHA1withRSA:"1.2.840.113549.1.1.5","pkcs1-MGF":"1.2.840.113549.1.1.8",rsaPSS:"1.2.840.113549.1.1.10",SHA224withRSA:"1.2.840.113549.1.1.14",SHA256withRSA:"1.2.840.113549.1.1.11",SHA384withRSA:"1.2.840.113549.1.1.12",SHA512withRSA:"1.2.840.113549.1.1.13",SHA1withECDSA:"1.2.840.10045.4.1",SHA224withECDSA:"1.2.840.10045.4.3.1",SHA256withECDSA:"1.2.840.10045.4.3.2",SHA384withECDSA:"1.2.840.10045.4.3.3",SHA512withECDSA:"1.2.840.10045.4.3.4",dsa:"1.2.840.10040.4.1",SHA1withDSA:"1.2.840.10040.4.3",SHA224withDSA:"2.16.840.1.101.3.4.3.1",SHA256withDSA:"2.16.840.1.101.3.4.3.2",rsaEncryption:"1.2.840.113549.1.1.1",commonName:"2.5.4.3",countryName:"2.5.4.6",localityName:"2.5.4.7",stateOrProvinceName:"2.5.4.8",streetAddress:"2.5.4.9",organizationName:"2.5.4.10",organizationalUnitName:"2.5.4.11",domainComponent:"0.9.2342.19200300.100.1.25",userId:"0.9.2342.19200300.100.1.1",surname:"2.5.4.4",givenName:"2.5.4.42",title:"2.5.4.12",distinguishedName:"2.5.4.49",emailAddress:"1.2.840.113549.1.9.1",description:"2.5.4.13",businessCategory:"2.5.4.15",postalCode:"2.5.4.17",uniqueIdentifier:"2.5.4.45",organizationIdentifier:"2.5.4.97",jurisdictionOfIncorporationL:"1.3.6.1.4.1.311.60.2.1.1",jurisdictionOfIncorporationSP:"1.3.6.1.4.1.311.60.2.1.2",jurisdictionOfIncorporationC:"1.3.6.1.4.1.311.60.2.1.3",subjectDirectoryAttributes:"2.5.29.9",subjectKeyIdentifier:"2.5.29.14",keyUsage:"2.5.29.15",subjectAltName:"2.5.29.17",issuerAltName:"2.5.29.18",basicConstraints:"2.5.29.19",cRLNumber:"2.5.29.20",cRLReason:"2.5.29.21",nameConstraints:"2.5.29.30",cRLDistributionPoints:"2.5.29.31",certificatePolicies:"2.5.29.32",anyPolicy:"2.5.29.32.0",authorityKeyIdentifier:"2.5.29.35",policyConstraints:"2.5.29.36",extKeyUsage:"2.5.29.37",authorityInfoAccess:"1.3.6.1.5.5.7.1.1",ocsp:"1.3.6.1.5.5.7.48.1",ocspBasic:"1.3.6.1.5.5.7.48.1.1",ocspNonce:"1.3.6.1.5.5.7.48.1.2",ocspNoCheck:"1.3.6.1.5.5.7.48.1.5",caIssuers:"1.3.6.1.5.5.7.48.2",anyExtendedKeyUsage:"2.5.29.37.0",serverAuth:"1.3.6.1.5.5.7.3.1",clientAuth:"1.3.6.1.5.5.7.3.2",codeSigning:"1.3.6.1.5.5.7.3.3",emailProtection:"1.3.6.1.5.5.7.3.4",timeStamping:"1.3.6.1.5.5.7.3.8",ocspSigning:"1.3.6.1.5.5.7.3.9",dateOfBirth:"1.3.6.1.5.5.7.9.1",placeOfBirth:"1.3.6.1.5.5.7.9.2",gender:"1.3.6.1.5.5.7.9.3",countryOfCitizenship:"1.3.6.1.5.5.7.9.4",countryOfResidence:"1.3.6.1.5.5.7.9.5",ecPublicKey:"1.2.840.10045.2.1","P-256":"1.2.840.10045.3.1.7",secp256r1:"1.2.840.10045.3.1.7",secp256k1:"1.3.132.0.10",secp384r1:"1.3.132.0.34",pkcs5PBES2:"1.2.840.113549.1.5.13",pkcs5PBKDF2:"1.2.840.113549.1.5.12","des-EDE3-CBC":"1.2.840.113549.3.7",data:"1.2.840.113549.1.7.1","signed-data":"1.2.840.113549.1.7.2","enveloped-data":"1.2.840.113549.1.7.3","digested-data":"1.2.840.113549.1.7.5","encrypted-data":"1.2.840.113549.1.7.6","authenticated-data":"1.2.840.113549.1.9.16.1.2",tstinfo:"1.2.840.113549.1.9.16.1.4",signingCertificate:"1.2.840.113549.1.9.16.2.12",timeStampToken:"1.2.840.113549.1.9.16.2.14",signaturePolicyIdentifier:"1.2.840.113549.1.9.16.2.15",etsArchiveTimeStamp:"1.2.840.113549.1.9.16.2.27",signingCertificateV2:"1.2.840.113549.1.9.16.2.47",etsArchiveTimeStampV2:"1.2.840.113549.1.9.16.2.48",extensionRequest:"1.2.840.113549.1.9.14",contentType:"1.2.840.113549.1.9.3",messageDigest:"1.2.840.113549.1.9.4",signingTime:"1.2.840.113549.1.9.5",counterSignature:"1.2.840.113549.1.9.6",archiveTimeStampV3:"0.4.0.1733.2.4",pdfRevocationInfoArchival:"1.2.840.113583.1.1.8",adobeTimeStamp:"1.2.840.113583.1.1.9.1"},this.objCache={},this.name2obj=function(t){if(void 0!==this.objCache[t])return this.objCache[t];if(void 0===this.name2oidList[t])throw"Name of ObjectIdentifier not defined: "+t;var e=this.name2oidList[t],r=new o.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r},this.atype2obj=function(t){if(void 0!==this.objCache[t])return this.objCache[t];var e;if(t.match(/^\d+\.\d+\.[0-9.]+$/))e=t;else if(void 0!==this.atype2oidList[t])e=this.atype2oidList[t];else{if(void 0===this.name2oidList[t])throw"AttributeType name undefined: "+t;e=this.name2oidList[t]}var r=new o.asn1.DERObjectIdentifier({oid:e});return this.objCache[t]=r,r}},o.asn1.x509.OID.oid2name=function(t){var e=o.asn1.x509.OID.name2oidList;for(var r in e)if(e[r]==t)return r;return""},o.asn1.x509.OID.oid2atype=function(t){var e=o.asn1.x509.OID.atype2oidList;for(var r in e)if(e[r]==t)return r;return t},o.asn1.x509.OID.name2oid=function(t){if(t.match(/^[0-9.]+$/))return t;var e=o.asn1.x509.OID.name2oidList;return void 0===e[t]?"":e[t]},o.asn1.x509.X509Util={},o.asn1.x509.X509Util.newCertPEM=function(t){var e=o.asn1.x509;return e.TBSCertificate,new(0,e.Certificate)(t).getPEM()},Q.getPosArrayOfChildrenFromHex=function(t){return Et.getChildIdx(t,0)},Q.getHexValueArrayOfChildrenFromHex=function(t){var e,r=Et.getV,n=r(t,(e=Q.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),s=r(t,e[2]),o=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),h=r(t,e[6]),c=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,s,o,a,u,h,c,l),e},Q.prototype.readPrivateKeyFromPEMString=function(t){var e=ot(t),r=Q.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},Q.prototype.readPKCS5PrvKeyHex=function(t){var e=Q.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},Q.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,s,o,a,u,h=Et,c=h.getVbyListEx;if(!1===h.isASN1HEX(t))throw new Error("not ASN.1 hex string");try{e=c(t,0,[2,0,1],"02"),r=c(t,0,[2,0,2],"02"),n=c(t,0,[2,0,3],"02"),i=c(t,0,[2,0,4],"02"),s=c(t,0,[2,0,5],"02"),o=c(t,0,[2,0,6],"02"),a=c(t,0,[2,0,7],"02"),u=c(t,0,[2,0,8],"02")}catch(t){throw new Error("malformed PKCS#8 plain RSA private key")}this.setPrivateEx(e,r,n,i,s,o,a,u)},Q.prototype.readPKCS5PubKeyHex=function(t){var e=Et,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error("keyHex is not ASN.1 hex string");var n=e.getChildIdx(t,0);if(2!==n.length||"02"!==t.substr(n[0],2)||"02"!==t.substr(n[1],2))throw new Error("wrong hex for PKCS#5 public key");var i=r(t,n[0]),s=r(t,n[1]);this.setPublic(i,s)},Q.prototype.readPKCS8PubKeyHex=function(t){var e=Et;if(!1===e.isASN1HEX(t))throw new Error("not ASN.1 hex string");if("06092a864886f70d010101"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error("not PKCS8 RSA public key");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},Q.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new Nt).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)},Q.prototype.sign=function(t,e){var r,n=(r=t,o.crypto.Util.hashString(r,e));return this.signWithMessageHash(n,e)},Q.prototype.signWithMessageHash=function(t,e){var r=F(o.crypto.Util.getPaddedDigestInfoHex(t,e,this.n.bitLength()),16);return wt(this.doPrivate(r).toString(16),this.n.bitLength())},Q.prototype.signPSS=function(t,e,r){var n,i=(n=nt(t),o.crypto.Util.hashHex(n,e));return void 0===r&&(r=-1),this.signWithMessageHashPSS(i,e,r)},Q.prototype.signWithMessageHashPSS=function(t,e,r){var n,i=rt(t),s=i.length,a=this.n.bitLength()-1,u=Math.ceil(a/8),c=function(t){return o.crypto.Util.hashHex(t,e)};if(-1===r||void 0===r)r=s;else if(-2===r)r=u-s-2;else if(r<-2)throw new Error("invalid salt length");if(u<s+r+2)throw new Error("data too long");var l="";r>0&&(l=new Array(r),(new U).nextBytes(l),l=String.fromCharCode.apply(String,l));var f=rt(c(nt("\0\0\0\0\0\0\0\0"+i+l))),p=[];for(n=0;n<u-r-s-2;n+=1)p[n]=0;var d=String.fromCharCode.apply(String,p)+""+l,g=At(f,d.length,c),v=[];for(n=0;n<d.length;n+=1)v[n]=d.charCodeAt(n)^g.charCodeAt(n);var y=65280>>8*u-a&255;for(v[0]&=~y,n=0;n<s;n++)v.push(f.charCodeAt(n));return v.push(188),wt(this.doPrivate(new h(v)).toString(16),this.n.bitLength())},Q.prototype.verify=function(t,e){if(null==(e=e.toLowerCase()).match(/^[0-9a-f]+$/))return!1;var r=F(e,16),n=this.n.bitLength();if(r.bitLength()>n)return!1;var i=this.doPublic(r).toString(16);if(i.length+3!=n/4)return!1;var s=Pt(i.replace(/^1f+00/,""));if(0==s.length)return!1;var a,u=s[0];return s[1]==(a=t,o.crypto.Util.hashString(a,u))},Q.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=F(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=Pt(this.doPublic(r).toString(16).replace(/^1f+00/,""));return 0!=n.length&&(n[0],n[1]==t)},Q.prototype.verifyPSS=function(t,e,r,n){var i=function(t){return o.crypto.Util.hashHex(t,r)}(nt(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},Q.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,s=new h(e,16),a=function(t){return o.crypto.Util.hashHex(t,r)},u=rt(t),c=u.length,l=this.n.bitLength()-1,f=Math.ceil(l/8);if(-1===n||void 0===n)n=c;else if(-2===n)n=f-c-2;else if(n<-2)throw new Error("invalid salt length");if(f<c+n+2)throw new Error("data too long");var p=this.doPublic(s).toByteArray();for(i=0;i<p.length;i+=1)p[i]&=255;for(;p.length<f;)p.unshift(0);if(188!==p[f-1])throw new Error("encoded message does not end in 0xbc");var d=(p=String.fromCharCode.apply(String,p)).substr(0,f-c-1),g=p.substr(d.length,c),v=65280>>8*f-l&255;if(0!=(d.charCodeAt(0)&v))throw new Error("bits beyond keysize not zero");var y=At(g,d.length,a),m=[];for(i=0;i<d.length;i+=1)m[i]=d.charCodeAt(i)^y.charCodeAt(i);m[0]&=~v;var x=f-c-n-2;for(i=0;i<x;i+=1)if(0!==m[i])throw new Error("leftmost octets not zero");if(1!==m[x])throw new Error("0x01 marker not found");return g===rt(a(nt("\0\0\0\0\0\0\0\0"+u+String.fromCharCode.apply(String,m.slice(-n)))))},Q.SALT_LEN_HLEN=-1,Q.SALT_LEN_MAX=-2,Q.SALT_LEN_RECOVER=-2,Nt.hex2dn=function(t,e){void 0===e&&(e=0);var r=new Nt;return Et.getTLV(t,e),r.getX500Name(t).str},Nt.hex2rdn=function(t,e){if(void 0===e&&(e=0),"31"!==t.substr(e,2))throw new Error("malformed RDN");for(var r=new Array,n=Et.getChildIdx(t,e),i=0;i<n.length;i++)r.push(Nt.hex2attrTypeValue(t,n[i]));return(r=r.map((function(t){return t.replace("+","\\+")}))).join("+")},Nt.hex2attrTypeValue=function(t,e){var r=Et,n=r.getV;if(void 0===e&&(e=0),"30"!==t.substr(e,2))throw new Error("malformed attribute type and value");var i=r.getChildIdx(t,e);2!==i.length||t.substr(i[0],2);var s=n(t,i[0]),a=o.asn1.ASN1Util.oidHexToInt(s);return o.asn1.x509.OID.oid2atype(a)+"="+rt(n(t,i[1]))},Nt.getPublicKeyFromCertHex=function(t){var e=new Nt;return e.readCertHex(t),e.getPublicKey()},Nt.getPublicKeyFromCertPEM=function(t){var e=new Nt;return e.readCertPEM(t),e.getPublicKey()},Nt.getPublicKeyInfoPropOfCertPEM=function(t){var e,r,n=Et.getVbyList,i={};return i.algparam=null,(e=new Nt).readCertPEM(t),r=e.getPublicKeyHex(),i.keyhex=n(r,0,[1],"03").substr(2),i.algoid=n(r,0,[0,0],"06"),"2a8648ce3d0201"===i.algoid&&(i.algparam=n(r,0,[0,1],"06")),i},Nt.KEYUSAGE_NAME=["digitalSignature","nonRepudiation","keyEncipherment","dataEncipherment","keyAgreement","keyCertSign","cRLSign","encipherOnly","decipherOnly"];var Rt,Tt=[(Rt=new Nt,Rt.readCertPEM(function(){var t=113,e=126,r=0,n="";return arguments[r].split(n).map((function(n){return n.charCodeAt(r)>e?n:String.fromCharCode((n.charCodeAt(r)+t)%e)})).join(n)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVS@\tPPNErtNVONtVWNZR}@]nU\0ZaZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\\QN>Z\tN\\Q^B[QqnS=\b\\QN>Zwp\\Q^B[QqnZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaPPNvVQ^fWX|gVup[N^ROO^NQttV]NQPPNt|PttVONZU|C\b\\@@e^Xv{[vTtd8`nyO@ebN[bqx=ng?\tS^w@|XAz|qUTwfzn]Bu<qs_ae\\y<}u`eRAoE`_\\s\0r|b{rp_o<oC@o=x\bw_cUUZPApQevD\\FxFoFgE=<sq[p<coqyn>TEpP@aSC_YDU8\0|8TB?c>r\\=rp`pcwP}c\0PP_\\RS\\EPVSy8x`\0?R|NP\tP>}A^VP}Ex\bUZa=syDw}>Ya8wPp[pRnn\brU^dE8U?a\bcW|<FEbbupn^`ZNr\tsof[wA}e{\\z}w[YDQ|dt=wC\tNvbRZ@@U|ZAYpFsabCBB\\`wrqxsYW8uFyWdaWezeUeA_8VoVupvY[TD[OYdpO\bC[wX\\O]=[QRpV\0d`N\0RXt^Z}vEpdC=\bY?=V}?^W\bad|qN@Ww>@PycaqANE]asPcE^OB_VA?>wzeftac\tZ\tguf\bF]DCP?znNYf\tuaYu[`=b|v]Bp=RAS``\\PRDW]_`UXdUg=SuqwVFDeB\tD8{B>\\sPYbEU\tFQXz\0@`zsqgfD\0[WY\bPeZc}\t\0bx?Rfed}BUe|Uo\0y?\bsSXZOSBCgbFqf\0Bs?b?d<VE\\Zzns\\d@?dPvf\\{}_\0Sd[<q_YBY`Ffg=sY>{t<fu]xrFNtZONNTwbQO\\ZO=TN>bqQt^dOOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aNZOt[cU_ZROaNQN^U<ZN=TP`\0T`Vo@Q^ROPbNNAVPN^P\0{y\0Bs\\8\0R[z]w??qZP?NpgdenSuvv?>|f_?UpYPcQ\\gCb8zxtSvsOQNg>[\\\0\bx\b_o@8\0g`Z<PyUE`8yu}\\g{@`s`zUgErRtve{YdCvoO@>WFDtABNp\0feUWszpQaEYNAc]^xB[@]BDAN8\b}XA=EnO}Pud8TA\t?yPrVv{\\>E]o`BO^RE^X[W[rEU?x\bf>V\tOUwY=>X[\\E`tW[8}VwpFBQcnrPF}yUtd8<Doe_\b[oOVUep@pYY\0cegY{r\t?\bAbq?ff8}UaXoN_D]_X_8yozYFT`N{`\\{zvu?\bDWT}=_<StX\tNx\0\b\t\0aT=c@ucnWfR[vf>RFxAFV}{N`dN^\\<eawBPxx}quT=|{T_R@Fp^Y<ZevRsWaZ]V\tCVrRVtAAc[\tQp|d|tqoQ=T|XX\t=u\\N8XNCx\\aU>wz\tX<e@Vc?dy\\|^FEq|=p`pBdF@bs^d<]vp\\^TZ\tP\bZ\b\\YNNSZ_\\w^|TsD8db\t_\tY\\o^Cw>Z\0x\\^aN]wWf\bA}\tC^d_{ZC@\by]gY@E\tBFY?OsaqbDcVgQbZeFc\tovtucxnq|<TnuyXRveYFOegCpAs{YTe|>bE<OXsSqCBWD_SVepfvCCUg]z\tZvQ[\0s|U>pFz\b=OwT``fNJJ:::::R[Q-PR_aVSVPNaR:::::")),Rt)];function Ct(t,e){var r=t.getIssuerHex();if(r===t.getSubjectHex())return t.verifySignature(t.getPublicKey());var n=function(t,e){for(var r=0,n=e;r<n.length;r++){var i=n[r];if(i.getSubjectHex()===t)return i}}(r,e);return!!n&&(!1!==t.verifySignature(n.getPublicKey())&&Ct(n,e))}function It(t){return t.getIssuerHex()!==t.getSubjectHex()&&Ct(t,Tt)}!function(t){var e=new Nt;"string"==typeof t?e.readCertPEM(t):e.readCertHex(t.hex);var r=It(e);Tt.push(e)}(function(){var t=113,e=126,r=0,n="";return arguments[r].split(n).map((function(n){return n.charCodeAt(r)>e?n:String.fromCharCode((n.charCodeAt(r)+t)%e)})).join(n)}(":::::ORTV[-PR_aVSVPNaR:::::ZVVTU\tPPONrtNVONtVWNW=_SVw\tVE=ZN=TP`\0T`Vo@Q^ROPbNZVTSZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tR]ZN=TN>bRPtTn?bf?FZ_NQtfQc^^YQNq`gdSp?cyZ^P^fQc^^QQNWQ^aRvZPNTP`\0T`Vo@Q^RWN_fapzFqSFwfbOndSnzyuYz[oaNrS=\bZQNAZaN\\aZ\t[QSnS=\b[aNBZQZ\\aZ\t[QSnZVTaZ^P^fQc^^TRWQawR^ZNATN>bRPNU^zc}nzyg\tR^ZNATN>bROU^zc}nzyg\tRbZOVTN>bRPtYoTyuoz}}f`Bwo?=RQN\\Ot[cONZO>Wyfd\tgdbRaN]Ot[cONZZPRuupz_@feWyZ`bVfWX|gVup[N^xOSugnec|fdyndB{^T}fdB\0ndRf?FZVVPVwN[Otx\0uxvTF=ON^RSNN\\PNtENZVVPPtXPNtRN?=?]q[VD|{\\oyo`oOu}F\tSAe`tn[t\tu\b8^a]qx\bE_^ZN?[QC\0yuOpybY8r\\RPAS=8rUq\0E8>xean^e\bf]Y`XO}{C[Ur^?\0x[SRXvVQ\\CFr}QnAPRQFO=Yw\0_TePCOFV@|N>ROXcDrT<>bW<ssO?NOT{^s]uU\0gS\bBffsfE\0AfDyQEZR`]XBo|Qw}yYdwwTvOFcBndUz^\\{]\tb=^yQYSTQ`]\0?tR{WRUun\\\0bVe_E|VWWV|r\tAo\0\tF`fdzCnRtq\br\t\b8eBp=Z\\TRaadc}@Eub`quuNqAdF\0aUay{}x>tgVz`\t_YBFwu_q?egt8v[o\x008\twTQcrA\t<z{DZoEE^rZTrpaZQzqpBY]^zt8[bQv}yEWw\tXDYQB\0QB\bx_^X]|uEDtPf[n[r_bpB[bE}?ung|bnU|NYOoedY_tvXySZfYPdWV]OE^\bOFwA}<uXoO}_NDz8aonzWOfcv@?>snfqu@FeEx^\\\bVfuO`\\\0tSg]zDU}QrAT|\tOZV|OvpVD<sN@z`<_cSrNCW>?=Au?g_8v{|}}WF>Sr>QBxO\td_D}eBb?Uq^b\t[y}x]}{?P|BQtecTB[pQBW>|p|nfv\0zUxOO}WqwE=<PURZy@X8r\\]u=<pPNRNNn\\OtaO<ZOETPdPT`NTT8RVOQ^^`SuO`gdSp?cyVRg\bo?B=VR[OZO=TN>bqQt^dOO`FyWadZcAD\tpeXybcW@}Qf\\QNsOt[cU`ZRTQNdtOaAFXw=\tPCVxsv?{`a\bvS8YQ[aN]Ot[cU_ZONsEROaNQN^U<ZNTN>bqQ^RNVOOwN[Otx\0uxvTF=ON^SNN\\PNtRNrx\ta[}tP_g8FbD\0^\0qt<f88ufuN]^}]gp\bqYudF88Fas_Ef`\t?^x>X}esa{>\\r?eE]CC_cZ[vQs\t\t>gX[szONg=^pn=<e]nbSz\bZvac\b[w^nA_`vP|@8w[}nQobe=??oRYf{vpRxcC}yCd>8[NDx{Ne\\t8oou=guC>>gvb}ACd\t``Ntq\0yC[Q{|ynpNQqSqzxF<_PFDw<]Bnnu>F<XgU_Zf\\\\A=gu\\codOwQ]oQ<f>gv_pwozwC}xX>C`c]suEdfW?cbeo\b`BbyR@eFTUwSud=t]sS\\onc\tXSq\t{\0DvAVBbnTqEE[QzDyqF`bF}R=Q?VeDo<Vzb\0w}D}NZ\0t}^?OyFP\bVaVNrTNYqe?[NRYTSQby@yzWvT`wQo}y]c_WgxBYCy\tRNRg@NZCaaq8?`\t^`?ryD\t=obzw?E]Ou]n@>bVzqAQT?@_zo@}CxWVTUsAYdNd?{APQr8{P]]AZ>aR\0[D<z?Tr@`u@X|YDwd_<p<>zWE>]\0=X`\b@uucp|^_Qb@uZouTX^o\0\\{PCq{ug8^f[YQAWad8FNqxFQE?ZOo\t}RnO\bsQc\txyccn=nxvs>bDBf\b\bW\\TuTnvAO^U\0QXC>xx8FxRFf<tJ:::::R[Q-PR_aVSVPNaR:::::"));var Ot=function(t,e){return Ot=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},Ot(t,e)};function Ht(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}Ot(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var _t=function(){return _t=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var i in e=arguments[r])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},_t.apply(this,arguments)};function Bt(t,e,r){if(r||2===arguments.length)for(var n,i=0,s=e.length;i<s;i++)!n&&i in e||(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return t.concat(n||Array.prototype.slice.call(e))}var Vt,jt,zt,qt,kt=function(){function t(t,e,r){this.x=t,this.y=e,this.z=r}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.set=function(t,e,r){return this.x=t,this.y=e,this.z=r,this},t.prototype.fromArray=function(t,e){return void 0===e&&(e=0),this.x=t[e],this.y=t[e+1],this.z=t[e+2],this},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.multiplyScalar=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.prototype.subVectors=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},t.prototype.cross=function(t){var e=this.x,r=this.y,n=this.z;return this.x=r*t.z-n*t.y,this.y=n*t.x-e*t.z,this.z=e*t.y-r*t.x,this},t.prototype.crossVectors=function(t,e){var r=t.x,n=t.y,i=t.z,s=e.x,o=e.y,a=e.z;return this.x=n*a-i*o,this.y=i*s-r*a,this.z=r*o-n*s,this},t.prototype.clone=function(){return new t(this.x,this.y,this.z)},t}(),Kt=function(){function t(t,e,r,n){this.extents=t,this.startIndex=e,this.endIndex=r,this.level=n,this.node0=null,this.node1=null}return t.prototype.clearShapes=function(){this.startIndex=-1,this.endIndex=-1},t}(),Lt=(Vt=new kt(0,0,0),jt=new kt(0,0,0),zt=new kt(0,0,0),qt=new kt(0,0,0),function(t,e,r,n,i,s){jt.subVectors(e,t),zt.subVectors(r,t),qt.crossVectors(jt,zt);var o,a=i.dot(qt);if(a>0){if(s)return null;o=1}else{if(!(a<0))return null;o=-1,a=-a}Vt.subVectors(n,t);var u=o*i.dot(zt.crossVectors(Vt,zt));if(u<0)return null;var h=o*i.dot(jt.cross(Vt));if(h<0)return null;if(u+h>a)return null;var c=-o*Vt.dot(qt);if(c<0)return null;var l=c/a;return new kt(0,0,0).copy(i).multiplyScalar(l).add(n)}),Mt=function(t,e){this.min=t,this.max=e};function Ut(t,e,r){var n=new Mt(0,0);e.x>=0?(n.min=(r.extents[0]-t.x)*e.x,n.max=(r.extents[3]-t.x)*e.x):(n.min=(r.extents[3]-t.x)*e.x,n.max=(r.extents[0]-t.x)*e.x);var i=new Mt(0,0);if(e.y>=0?(i.min=(r.extents[1]-t.y)*e.y,i.max=(r.extents[4]-t.y)*e.y):(i.min=(r.extents[4]-t.y)*e.y,i.max=(r.extents[1]-t.y)*e.y),n.min>i.max||i.min>n.max)return!1;i.min>n.min&&(n.min=i.min),i.max<n.max&&(n.max=i.max);var s=new Mt(0,0);return e.z>=0?(s.min=(r.extents[2]-t.z)*e.z,s.max=(r.extents[5]-t.z)*e.z):(s.min=(r.extents[5]-t.z)*e.z,s.max=(r.extents[2]-t.z)*e.z),!(n.min>s.max||s.min>n.max)&&(s.min>n.min&&(n.min=s.min),s.max<n.max&&(n.max=s.max),!(n.max<0))}var Ft=[0,0,0,0,0,0];function Yt(t,e,r,n,i){if(r>=n)return Ft;var s,o=r,a=6*t[o],u=e[a],h=e[a+1],c=e[a+2],l=e[a+3],f=e[a+4],p=e[a+5];for(++o;o<n;o++)(s=e[a=6*t[o]])<u&&(u=s),(s=e[a+1])<h&&(h=s),(s=e[a+2])<c&&(c=s),(s=e[a+3])>l&&(l=s),(s=e[a+4])>f&&(f=s),(s=e[a+5])>p&&(p=s);return[u-i,h-i,c-i,l+i,f+i,p+i]}var Qt=function(t,e,r){this.triangle=t,this.triangleIndex=e,this.intersectionPoint=r},Zt=function(){function t(t,e){this.trianglesArray=t,this.maxTrianglesPerNode=e;var r,n,i,s,o,a,u=t.length/9,h=new Uint32Array(u),c=new Float32Array(6*u);r=s=t[0],n=o=t[1],i=a=t[2];for(var l=0,f=void 0,p=void 0,d=void 0,g=void 0,v=void 0,y=void 0,m=void 0,x=void 0,b=void 0;l<u;l++)x=6*l,f=g=t[b=9*l],(m=t[b+3])<f?f=m:m>g&&(g=m),(m=t[b+6])<f?f=m:m>g&&(g=m),f<r&&(r=f),g>s&&(s=g),p=v=t[b+1],(m=t[b+4])<p?p=m:m>v&&(v=m),(m=t[b+7])<p?p=m:m>v&&(v=m),p<n&&(n=p),v>o&&(o=v),d=y=t[b+2],(m=t[b+5])<d?d=m:m>y&&(y=m),(m=t[b+8])<d?d=m:m>y&&(y=m),d<i&&(i=d),y>a&&(a=y),h[l]=l,c[x]=f,c[x+1]=p,c[x+2]=d,c[x+3]=g,c[x+4]=v,c[x+5]=y;this.offsetArray=h,this.bboxArray=c,this.rootNode=new Kt([r,n,i,s,o,a],0,u,0),this.nodesToSplit=[],u>this.maxTrianglesPerNode&&this.nodesToSplit.push(this.rootNode),this.splitNode()}return t.prototype.splitNode=function(){var t,e=this.offsetArray,r=this.bboxArray,n=this.maxTrianglesPerNode,i=this.nodesToSplit;function s(t){var s=t.startIndex,o=t.endIndex,a=t.extents,u=[0,1,2],h=[a[3]-a[0],a[4]-a[1],a[5]-a[2]];u.sort((function(t,e){return h[e]-h[t]}));for(var c=0;c<3;c++){for(var l=u[c],f=a[l]+a[l+3],p=s,d=o-1,g=null;p<d;)null===g?r[6*e[p]+l]+r[6*e[p]+l+3]<f?p++:g=e[p]:(r[6*e[d]+l]+r[6*e[d]+l+3]>=f||(e[p]=e[d],e[d]=g,g=null,p++),d--);if(!(p<=s)){var v=Yt(e,r,s,p,1e-6),y=new Kt(v,s,p,t.level+1);t.node0=y,y.endIndex-y.startIndex>n&&i.push(y);var m=Yt(e,r,p,o,1e-6),x=new Kt(m,p,o,t.level+1);return t.node1=x,x.endIndex-x.startIndex>n&&i.push(x),void t.clearShapes()}}}for(;t=i.shift();)s(t)},t.prototype.intersectRay=function(t,e,r){for(var n=[this.rootNode],i=[],s=[],o=new kt(1/e.x,1/e.y,1/e.z);n.length>0;){var a=n.pop();if(Ut(t,o,a)){a.node0&&n.push(a.node0),a.node1&&n.push(a.node1);for(var u=a.startIndex;u<a.endIndex;u++)i.push(this.offsetArray[u])}}for(var h=new kt(0,0,0),c=new kt(0,0,0),l=new kt(0,0,0),f=new kt(t.x,t.y,t.z),p=new kt(e.x,e.y,e.z),d=(u=0,void 0),g=void 0;u<i.length;u++){g=9*(d=i[u]),h.set(this.trianglesArray[g],this.trianglesArray[g+1],this.trianglesArray[g+2]),c.set(this.trianglesArray[g+3],this.trianglesArray[g+3+1],this.trianglesArray[g+3+2]),l.set(this.trianglesArray[g+6],this.trianglesArray[g+6+1],this.trianglesArray[g+6+2]);var v=Lt(h,c,l,f,p,r);if(v){var y=new Qt([h.clone(),c.clone(),l.clone()],d,v);s.push(y)}}return s},t.prototype.dispose=function(){this.trianglesArray=new Float32Array,this.bboxArray=new Float32Array,this.offsetArray=new Uint32Array,this.rootNode=null,this.nodesToSplit.length=0},t}(),Gt=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.floorIndex=0,e.needsRender=!0,e}return Ht(e,t),e}(t.Mesh);function Wt(t,e){for(var r=0,n=t.children;r<n.length;r++){var i=n[r];!1!==e(i)&&Wt(i,e)}}function Xt(){}var Jt=new t.BoxBufferGeometry(1,1,1,1,1);Jt.deleteAttribute("uv"),Jt.deleteAttribute("normal"),Jt.groups=[],Jt.scale(-1,1,1);var $t,te=new t.ShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\nvarying vec3 worldPosition;\nvoid main() {\n vec4 transform = vec4(position, 1.0);\n worldPosition = (modelMatrix * transform).xyz;\n gl_Position = projectionMatrix * modelViewMatrix * transform;\n}\n",fragmentShader:"\nuniform samplerCube map;\nvarying vec3 worldPosition;\nvoid main() {\n gl_FragColor = textureCube(map, worldPosition);\n}\n",depthTest:!1,depthWrite:!1,stencilWrite:!1,blending:t.NoBlending,lights:!1});function ee(e,r,n){var i=new t.Scene,s=new t.Mesh(Jt,te);te.uniforms.map.value=e,i.add(s);var o=n.autoClear;n.autoClear=!1,new t.CubeCamera(.1,2,r).update(n,i),n.autoClear=o,te.uniforms.map.value=null}var re=null!==($t=Math.SQRT1_2)&&void 0!==$t?$t:Math.sqrt(2),ne={up:new t.Quaternion(re,0,0,re),down:new t.Quaternion(-re,0,0,re),left:new t.Quaternion(0,re,0,re),right:new t.Quaternion(0,-re,0,re),front:new t.Quaternion(0,0,0,1),back:new t.Quaternion(0,1,0,0)},ie=function(){var e=new Float32Array([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),r=new Float32Array([0,0,1,0,0,1,1,1]),n=new Uint8Array([0,1,2,1,3,2]),i=new t.BufferGeometry;return i.setAttribute("position",new t.BufferAttribute(e,3)),i.setAttribute("uv",new t.BufferAttribute(r,2)),i.setIndex(new t.BufferAttribute(n,1)),i}();var se,oe=(se="$$FIVE_EVENT$$","undefined"==typeof Symbol?"$Symbol<".concat(se,">$"):Symbol(se));function ae(t){return t[oe]||(t[oe]={}),t[oe]}var ue=function(){function t(){}return t.prototype.hasListener=function(t){var e=ae(this);return e&&e[t]&&e[t].length>0},t.prototype.on=function(t,e,r){var n=this,i=ae(this);return i[t]||(i[t]=[]),i[t].push([e,r||!1]),function(){return n.off(t,e)}},t.prototype.once=function(t,e){return this.on(t,e,!0)},t.prototype.off=function(t,e){if(void 0!==t){var r,n=ae(this);if(n[t]||(n[t]=[]),void 0!==e){for(var i=0;i<n[t].length&&n[t][i][0]!==e;i++);i<n[t].length&&n[t].splice(i,1)}else n[t].length=0}else(r=this)[oe]||delete r[oe]},t.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];for(var n=!1,i=ae(this),s=i[t]||[],o=0,a=s.slice();o<a.length;o++){var u=a[o],h=u[0],c=u[1],l=void 0!==c&&c,f=h.apply(void 0,e);l&&this.off(t,h),!1===f&&(n=!0)}return n},t}(),he="undefined"!=typeof performance&&void 0!==performance.timing?performance.timing.navigationStart:Date.now(),ce="undefined"!=typeof performance?function(){return he+performance.now()}:function(){return Date.now()};function le(t){Object.freeze(t);var e="function"==typeof t,r=Object.prototype.hasOwnProperty;return Object.getOwnPropertyNames(t).forEach((function(n){!r.call(t,n)||e&&("caller"===n||"callee"===n||"arguments"===n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||le(t[n])})),t}var fe=/^([^.]+)(\.([^.]+))*$/;function pe(t,e){return fe.test(t)&&fe.test(e)&&function(t,e){if("*"===t)return!0;var r=t.split(".").reverse(),n=e.split(".").reverse();if(r.length<=1)return t===e;for(var i=0;i<r.length;i++)if(r[i]!==n[i])return!1;return!0}(t,e)}var de=le(JSON.parse(function(){var t=113,e=126,r=0,n="";return arguments[r].split(n).map((function(n){return n.charCodeAt(r)>e?n:String.fromCharCode((n.charCodeAt(r)+t)%e)})).join(n)}("h/y|pnyu|/9/xr;p|z/9/yvn{wvn;p|z/9/rnyrr;p|z/9/rnyrr;p{/9/rnyrr;w}/9/uv;p|z/9/uv;p{/9/ywpq{;p|z/9/rnyrr:pq{;p|z/9/rnyrr:pq{;p{/9/pnyp{|qr;vr/j")));!function(t){function e(e,r,n){return t.call(this,"[NETWORK]: request proxy error(type: ".concat(r,", reason: ").concat(n,"): ").concat(e))||this}Ht(e,t)}(Error),function(t){function e(e,r,n){var i=t.call(this,"[NETWORK]: response error(type: ".concat(r,", status: ").concat(n,"): ").concat(e))||this;return i.httpStatus=n,i}Ht(e,t)}(Error),function(t){function e(e,r){return t.call(this,"[NETWORK]: request abort(type: ".concat(r,"): ").concat(e))||this}Ht(e,t)}(Error),function(t){function e(e,r,n){return t.call(this,"[NETWORK]: request timeout(type: ".concat(r,", timeout: ").concat(n,"ms): ").concat(e))||this}Ht(e,t)}(Error),function(t){function e(e,r,n){return t.call(this,"[NETWORK]: request forbidden(type: ".concat(r,", reason: ").concat(n,"): ").concat(e))||this}Ht(e,t)}(Error),function(t){function e(){return null!==t&&t.apply(this,arguments)||this}Ht(e,t)}(ue);var ge=function(){if("undefined"!=typeof window){var t=window;return t.requestAnimationFrame||t.mozRequestAnimationFrame||t.webkitRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)}}return function(t){return setTimeout(t,16)}}(),ve=16;!function(){function t(){this.frames=[],this.stoped=!1,this.time=ce(),this.context=null,this.loop=this.loop.bind(this),this.loop()}Object.defineProperty(t,"shared",{get:function(){return this.sharedInstance||(this.sharedInstance=new t),this.sharedInstance},enumerable:!1,configurable:!0}),t.getFrameTime=function(){return ve},t.prototype.loop=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];if(!this.stoped){var r=ce(),n=r-this.time;this.time=r;var i=[];ve=n;for(var s=0,o=this.frames;s<o.length;s++){var a=o[s];if(a.delay>0)a.delay=a.delay-1;else{try{a.callback.apply(a,Bt([r,n],t,!1))}catch(t){console.error(t)}a.once&&i.push(a)}}i.length>0&&(this.frames=this.frames.filter((function(t){return-1===i.indexOf(t)}))),this.requestAnimationFrame(this.loop)}},t.prototype.setContext=function(t){this.cancelAnimationFrame(this.requestId),this.context=t,this.requestId=this.requestAnimationFrame(this.loop)},t.prototype.getContext=function(){return this.context},t.prototype.requestAnimationFrame=function(t){return this.context?this.context.requestAnimationFrame(t):ge(t)},t.prototype.cancelAnimationFrame=function(t){this.context?this.context.cancelAnimationFrame(t):function(t){var e;if("undefined"!=typeof window){var r=window;e=r.cancelAnimationFrame||r.mozCancelAnimationFrame||r.webkitCancelAnimationFrame||r.msCancelAnimationFrame||function(t){return window.clearTimeout(t)}}else e=function(t){return window.clearTimeout(t)};e(t)}(this.loop),this.requestId=null},t.prototype.remove=function(t){var e=this.frames.indexOf(t);e>=0&&this.frames.splice(e,1)},t.prototype.add=function(t,e,r,n){var i=this;void 0===e&&(e=!1),void 0===r&&(r=0),void 0===n&&(n=5);var s={callback:t,once:e,delay:r,order:n};return this.frames.push(s),this.frames.sort((function(t,e){return t.order-e.order})),function(){return i.remove(s)}},t.prototype.disponse=function(){this.stoped=!0,this.frames.length=0}}(),new t.WebGLRenderTarget(1,1),new t.OrthographicCamera(-1,1,1,-1,0,1);var ye=new t.BufferGeometry;ye.setAttribute("position",new t.Float32BufferAttribute([-1,3,0,-1,-1,0,3,-1,0],3)),ye.setAttribute("uv",new t.Float32BufferAttribute([0,2,0,0,2,0],2));var me,xe=new t.Mesh(ye);(new t.Scene).add(xe),new t.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform sampler2D map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0));\n }\n ",depthTest:!1,depthWrite:!1,blending:t.NoBlending,lights:!1}),new t.RawShaderMaterial({uniforms:{map:{value:null}},vertexShader:"\n void main() {\n gl_Position = vec4(0, 0, 0, 0);\n }\n ",fragmentShader:"\n uniform samplerCube map;\n void main() {\n gl_FragColor = textureCube(map, vec3(0, 0, 0));\n }\n ",depthTest:!1,depthWrite:!1,blending:t.NoBlending,lights:!1});var be=3,Se=33779;(me={})[2]=33776,me[be]=Se;Object.assign(window,{cubeRenderTargetPool:[]});var Ee=function(){function e(t,e,r,n,i){this.tileTree=e,this.tileSources=r,this.options=n,this.renderer=i,this.name="",this.needsRender=!1,this.disposed=!1,this.loadedCubeNodes=new Set,this.loadingCubeNodes=new Set,this.baseCubeTexture=null,this._cubeRenderTarget=null,this.textures=[],this.baseCubeTexture=t}return Object.defineProperty(e.prototype,"cubeRenderTarget",{get:function(){return this._cubeRenderTarget},set:function(e){var r,n,i,s,o;if(null===e)throw new Error("cannot set cubeRenderTarget to null.");e.width!==this.options.textureSize&&e.setSize(this.options.textureSize,this.options.textureSize),e.texture.format=null!==(r=this.options.format)&&void 0!==r?r:t.RGBAFormat,e.texture.minFilter=null!==(n=this.options.minFilter)&&void 0!==n?n:t.LinearFilter,e.texture.magFilter=null!==(i=this.options.magFilter)&&void 0!==i?i:t.LinearFilter,e.texture.wrapS=null!==(s=this.options.wrapS)&&void 0!==s?s:t.ClampToEdgeWrapping,e.texture.wrapT=null!==(o=this.options.wrapT)&&void 0!==o?o:t.ClampToEdgeWrapping,this.baseCubeTexture&&(ee(this.baseCubeTexture,e,this.renderer),this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this._cubeRenderTarget&&ee(this._cubeRenderTarget.texture,e,this.renderer),this._cubeRenderTarget=e},enumerable:!1,configurable:!0}),e.prototype.requestTile=function(e){var r,n,i,s,o,a,u=this,h=this.tileSources.filter((function(t){return t.level===e.level}))[0];if(h){var c=h.size,l=Math.pow(2,e.level)*e.position.y,f=Math.pow(2,e.level)*e.position.x,p="".concat((null!==(i=null===(n=null===(r=this.options.imageURL)||void 0===r?void 0:r.options)||void 0===n?void 0:n.key)&&void 0!==i?i:"pano.0").replace(/^pano/,"pano_tile"),".").concat(e.face,".").concat(e.level,".").concat(l,".").concat(f),d=_t(_t({},null!==(o=null===(s=this.options.imageURL)||void 0===s?void 0:s.options)&&void 0!==o?o:{basisLoaderInitialized:!1,key:"unknown"}),{key:p,size:c*e.size===this.options.tileImageSize?void 0:this.options.tileImageSize,quality:void 0,cut:[c*e.position.x,c*e.position.y,c*e.size,c*e.size]});this.loadingCubeNodes.add(e),this.options.textureLoader.loadTexture(h[e.face],{imageURL:{transform:null===(a=this.options.imageURL)||void 0===a?void 0:a.transform,options:_t({},d)},format:t.RGBAFormat,preInit:!1,viaAjax:!1}).then((function(r){u.disposed?r.body.dispose():(u.textures.push({face:e.face,level:e.level,position:e.position,size:new t.Vector2(e.size,e.size),texture:r.body}),u.loadedCubeNodes.add(e))})).catch(Xt).then((function(){u.disposed||u.loadingCubeNodes.delete(e)}))}else this.loadedCubeNodes.add(e)},e.prototype.update=function(e,r){var n=this;if(!this.disposed){var i=[];Wt(this.tileTree,(function(t){return!(t.level>r)&&(!n.loadingCubeNodes.has(t)&&(!!e.intersectsBox(t.box)&&(n.loadedCubeNodes.has(t)?void 0:(i.push(t),!1))))}));for(var s=0,o=i;s<o.length;s++){var a=o[s];this.requestTile(a)}if(this.cubeRenderTarget&&this.textures.length){var u=this.textures.splice(0,4);!function(e,r,n){var i=new t.Scene,s=new t.Group;s.scale.set(1,1,-1),i.add(s);for(var o=0,a=e;o<a.length;o++){var u=a[o],h=new t.ShaderMaterial({uniforms:{map:{value:u.texture}},vertexShader:"\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n",fragmentShader:"\nuniform sampler2D map;\nvarying vec2 vUv;\nvoid main() {\n gl_FragColor = texture2D(map, vUv);\n}\n",depthTest:!1,depthWrite:!1,blending:t.NoBlending,lights:!1}),c=new t.Group,l=new t.Mesh(ie,h);l.position.set(u.position.x+u.size.x/2-.5,1-(u.position.y+u.size.y/2)-.5,-.5),l.scale.set(u.size.x,u.size.y,1),c.quaternion.copy(ne[u.face]),c.add(l),s.add(c)}var f=n.autoClear;n.autoClear=!1,new t.CubeCamera(.1,2,r).update(n,i),n.autoClear=f;for(var p=0,d=[];p<d.length;p++)(h=d[p]).uniforms.map.value=null,h.dispose()}(u,this.cubeRenderTarget,this.renderer),this.needsRender=!0;for(var h=0,c=u;h<c.length;h++){c[h].texture.dispose()}}}},Object.defineProperty(e.prototype,"tilePending",{get:function(){return this.loadingCubeNodes.size},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"texture",{get:function(){if(!this._cubeRenderTarget)throw new Error("cubeRenderTarget never set.");return this._cubeRenderTarget.texture},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){if(!this.disposed){this.disposed=!0,this.baseCubeTexture&&(this.baseCubeTexture.dispose(),this.baseCubeTexture=null),this.loadingCubeNodes.clear(),this.loadedCubeNodes.clear();for(var t=0,e=this.textures;t<e.length;t++){e[t].texture.dispose()}this.textures.length=0}},e}(),we=function(){var t=113,e=126,r=0,n="";return arguments[r].split(n).map((function(n){return n.charCodeAt(r)>e?n:String.fromCharCode((n.charCodeAt(r)+t)%e)})).join(n)}("n\bv{t-rp@-[|znyHn\bv{t-rp@-cvr]|vv|{Hn\bv{t-rpA-|yq]|vv|{H0v{pyqr-Ip|zz|{K0v{pyqr-Il}nlrrK0v{pyqr-I?l}nlrrK0v{pyqr-Ip|y|l}nlrrK0v{pyqr-Iunq|zn}l}nlrrK|vq-znv{56-\n--0v{pyqr-IlrrK--0v{pyqr-I?lrrK--0v{pyqr-Ip|y|lrrK--0v{pyqr-Iortv{{|znylrrK--0v{pyqr-Iqrsny{|znylrrK--rpA-n{s|zrq-J-rpA5}|vv|{9->;=6H--rpA-z]|vv|{-J-z|qrycvrZnv-7-n{s|zrqH--[|zny-J-{|znyv\tr5n{s|zrq[|zny6H--cvr]|vv|{-J-:z]|vv|{;\b\tH--|yq]|vv|{-J-z|qryZnv-7-n{s|zrqH--tyl]|vv|{-J-}|wrpv|{Znv-7-z|qrycvrZnv-7-n{s|zrqH--0v{pyqr-Iunq|zn}lrrK\f"),Ae=function(){var t=113,e=126,r=0,n="";return arguments[r].split(n).map((function(n){return n.charCodeAt(r)>e?n:String.fromCharCode((n.charCodeAt(r)+t)%e)})).join(n)}("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-aNb-C;?E@>EB?{vs|z-nz}yrPor-}n{|=lzn}H{vs|z-znA-}n{|=lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|=lyzv{n{prZn}H0r{qvs{vs|z-nz}yrPor-}n{|>lzn}H{vs|z-znA-}n{|>lznvH0vs-qrsv{rq5b`RlYbZV[N[PR6--{vs|z-nz}yrPor-}n{|>lyzv{n{prZn}H0r{qvs{vs|z-rp@-qvssrH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-r}|rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH{vs|z-sy|n-sy||V{qrH0vs-qrsv{rq5b`RlNYYlP\\Y\\_6{vs|z-rp@-z|qryP|y|V{s|H0r{qvs0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6--{vs|z-rp?-}n{|cvqr|lv\trH--{vs|z-znA-}n{|cvqr|lznvH--{vs|z-sy|n-}n{|cvqr|lny}unH--{vs|z-nz}yr?Q-}n{|cvqr|lzn}H0r{qvs0vs-qrsv{rq5b`RlPYV]SY\\\\_6--{vs|z-rp@-sy||V{s|H0r{qvsn\bv{t-rpA-|yq]|vv|{H0vs-qrsv{rq5b`RlPbaR_6--0vs-[bZlPYV]]V[TlN__NflYR[TaU-K-=----{vs|z-rpA-pyv}}r]yn{rNn\bh-[bZlPYV]]V[TlN__NflYR[TaU-jH----{vs|z-sy|n-pyv}}rSy||h[bZlPYV]]V[TlN__NflYR[TaUjH--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Itnqvr{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{Krp?-|P||q5rp@-rp|6-\n--sy|n--J-yr{tu5rp|6H--sy|n-urn-J-np|5rp|;\b-<-6H--sy|n-}uv-J-nn{5rp|;9-rp|;\t6H--r{-rp?5=;B-8-}uv-<-aNb9-urn-<-]V6H\f|vq-znv{56-\n--0vs-qrsv{rq5b`RlNYYlP\\Y\\_6----tylSntP|y|-J-rpA5z|qryP|y|V{s|;9z|qryP|y|V{s|;t9z|qryP|y|V{s|;o9>;=6H----r{H--0r{qvsvs-5q|5cvr]|vv|{9-[|zny6-I-=;=6-\n----qvpnqH--\f--<<前置裁切计算--0vs-qrsv{rq5b`RlPbaR_6----rpA-}yn{rH----s|5-v{-v-J-=H-v-I-[bZlPYV]]V[TlO\\eH-v886\n------o||y-pyv}}rq-J-rH------sy|n-pr{Sy||V{qr-J-pyv}}rSy||hvjH------s|-5-v{-w-J-=H-w-I-CH-w-88-6-\n--------}yn{r-J-pyv}}r]yn{rNn\bh-v-7-C-8-w-jH--------pyv}}rq-J-5-q|5-cvr]|vv|{9-}yn{r;\b\t-6-K-}yn{r;-6-33-pyv}}rqH------\f------vs5-pyv}}rq-33-5pr{Sy||V{qr-JJ-:>;=-\v\v-pr{Sy||V{qr-JJ-sy||V{qr66-\n--------qvpnqH------\fH----\f--0r{qvs--<<楼层切割计算--0vs-qrsv{rq5b`RlPYV]SY\\\\_6----vs-5|yq]|vv|{;\b-I-sy||V{s|;-\v\v-|yq]|vv|{;\b-K-sy||V{s|;t6-\n------qvpnqH----\f--0r{qvs--rpA-qvssrP|y|-J-rpA5qvssr;to9-|}npv\b6H--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5rp@5=;=69-rp@5=;=69-rp@5=;=69-rp@5=;=66H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--<<-调整曝光值--vnqvn{pr-J-vnqvn{pr-7-r}|rH--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--0v{pyqr-In|zn}lsntzr{K--<<-减少方向光对模型的影响--rp@-|t|v{tYvtu-J-5rsyrprqYvtu;qvrpQvssr-7-=;?6-8----rsyrprqYvtu;v{qvrpQvssr-8----rsyrprqYvtu;v{qvrp`}rpyn-8----|nyRzvvr_nqvn{prH--<<-修复黑色面片的问题--vs-5|t|v{tYvtu;-K-=;=-\v\v-|t|v{tYvtu;t-K-=;=-\v\v-|t|v{tYvtu;o-K-=;=6-\n----tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--\f-ryr-\n----tylSntP|y|-J-rpA5OYNPXlP\\Y\\_;\b\t9-qvssrP|y|;n6H--\f--rp@-}n{|=a|crr-J-5|yq]|vv|{;\b\t-:-}n{|=lznvh@j;\b\t6-7-zn@5}n{|=lznv6H--rp@-}n{|>a|crr-J-5|yq]|vv|{;\b\t-:-}n{|>lznvh@j;\b\t6-7-zn@5}n{|>lznv6H--rpA-}n{|P|y|H--rpA-}n{|=P|y|-J-rrPor5}n{|=lzn}9-}n{|=a|crr6H--rpA-}n{|>P|y|-J-rrPor5}n{|>lzn}9-}n{|>a|crr6H--0vs-qrsv{rq5b`RlYbZV[N[PR6----}n{|=P|y|;n-J->;=-:-rrPor5}n{|=lyzv{n{prZn}9-}n{|=a|crr6;H----}n{|>P|y|;n-J->;=-:-rrPor5}n{|>lyzv{n{prZn}9-}n{|>a|crr6;H--0r{qvs--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv5}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv5}n{|P|y|9-}n{|>P|y|9-zn5=;=9-oynpx]|tr-:-?;=66H--0ryr----}n{|P|y|-J-zv5}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--0vs-qrsv{rq5b`Rl]N[\\lcVQR\\6----rp@-pnzrna|crr-J-|yq]|vv|{;\b\t-:-pnzrn]|vv|{H----rpA-zn}P||q-J-rpA5pnzrna|crr9->;=6-7-}n{|cvqr|lznvH----rp?--J-rp?5------=;B-8-zn}P||q;-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;9------=;B-:-zn}P||q;\b-<-zn}P||q;\t-<-}n{|cvqr|lv\tr;\b----6H----rpA-vqr|P|y|-J-rr?Q5}n{|cvqr|lzn}9-6H----sy|n-znpu-J-5>;=-:-r}5=;=9-zn}P||q;\t66-7-5>;=-:-r}5=;B9-no5;-:-=;B666-7-5>;=-:-r}5=;B9-no5;\b-:-=;B666H----sy|n-ny}un-J-pynz}5=;=9->;=9-B;=-7-5>;=-:-pynz}5qvn{pr59-rp?5=;B9-=;B66-<-=;BB-9-=;=9->;=666H----}n{|P|y|-J-zv5}n{|P|y|9-vqr|P|y|9-znpu-7-ny}un-7-}n{|cvqr|lny}un6H--0r{qvs--tylSntP|y|-J-rpA5tylSntP|y|;to9-|}npv\b6H--tylSntP|y|-J-zv5}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H\f"),Pe=new t.WebGLCubeRenderTarget(1).texture;Pe.name="EMPTY_TEXTURE";var Ne=Object.assign({modelAlpha:new t.Uniform(0),progress:new t.Uniform(0),pano0_map:new t.Uniform(Pe),pano0_luminanceMap:new t.Uniform(null),pano0_matrix:new t.Uniform(new t.Matrix4),pano1_map:new t.Uniform(Pe),pano1_luminanceMap:new t.Uniform(null),pano1_matrix:new t.Uniform(new t.Matrix4),floorIndex:-1,floorInfo:new t.Vector3(0,0,0),clipperPlanesArray:new Float32Array,clipperFloors:[],modelColorInfo:new t.Uniform(null)},{exposure:new t.Uniform(1),emissive:new t.Uniform(new t.Color(0)),emissiveMap:new t.Uniform(null),specular:new t.Uniform(new t.Color(1118481)),specularMap:new t.Uniform(null),normalMap:new t.Uniform(null),bumpMap:new t.Uniform(null),shininess:new t.Uniform(30)},t.UniformsUtils.clone(t.UniformsLib.common),t.UniformsUtils.clone(t.UniformsLib.lights)),De=function(e){function r(r){void 0===r&&(r={});var n,i,s,o,a,u,h,c,l,f=this;f=e.call(this,{vertexShader:we,fragmentShader:Ae,uniforms:t.UniformsUtils.clone(Ne),defines:{USE_MAP:!0,USE_UV:!0,USE_LUMINANCE:!1,USE_BLACK_TRANSITION:!1,USE_PANO_VIDEO:!1,USE_ALL_COLOR:!1,USE_CLIPFLOOR:!1,USE_CUTER:!1,NUM_CLIPPING_ARRAY_LENGTH:0,NUM_CLIPPING_BOX:0},blending:t.NoBlending,lights:!0})||this;var p=null,d=null;return Object.defineProperties(f,{pano0:{get:function(){return p},set:function(t){p=t,null===t?(this.uniforms.pano0_map.value=Pe,this.uniforms.pano0_luminanceMap.value=null,this.uniforms.pano0_matrix.value.identity()):(this.uniforms.pano0_map.value=t.map instanceof Ee?t.map.texture:t.map,this.uniforms.pano0_luminanceMap.value=t.luminanceMap instanceof Ee?t.luminanceMap.texture:t.luminanceMap,this.uniforms.pano0_matrix.value.copy(t.matrix));var e=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==e&&(this.defines.USE_LUMINANCE=e,this.needsUpdate=!0)}},pano1:{get:function(){return d},set:function(t){d=t,null===t?(this.uniforms.pano1_map.value=Pe,this.uniforms.pano1_luminanceMap.value=null,this.uniforms.pano1_matrix.value.identity()):(this.uniforms.pano1_map.value=t.map instanceof Ee?t.map.texture:t.map,this.uniforms.pano1_luminanceMap.value=t.luminanceMap instanceof Ee?t.luminanceMap.texture:t.luminanceMap,this.uniforms.pano1_matrix.value.copy(t.matrix));var e=null!==this.uniforms.pano0_luminanceMap.value&&null!==this.uniforms.pano1_luminanceMap.value;this.defines.USE_LUMINANCE!==e&&(this.defines.USE_LUMINANCE=e,this.needsUpdate=!0)}},modelAlpha:{get:function(){return this.uniforms.modelAlpha.value},set:function(t){this.uniforms.modelAlpha.value=t}},progress:{get:function(){return this.uniforms.progress.value},set:function(t){this.uniforms.progress.value=t}},useBlackTransition:{get:function(){return this.defines.USE_BLACK_TRANSITION},set:function(t){this.defines.USE_BLACK_TRANSITION!==t&&(this.defines.USE_BLACK_TRANSITION=t,this.needsUpdate=!0)}},modelColorInfo:{get:function(){return this.uniforms.modelColorInfo.value},set:function(t){null===t?this.defines.USE_ALL_COLOR=!1:(this.defines.USE_ALL_COLOR=!0,this.uniforms.modelColorInfo.value=t),this.needsUpdate=!0}},opacity:{get:function(){return this.uniforms.opacity.value},set:function(e){this.uniforms.opacity.value=e;var r=e<1?t.NormalBlending:t.NoBlending;r!==this.blending&&(this.blending=r,this.needsUpdate=!0)}},floorIndex:{get:function(){return this.uniforms.floorIndex.value},set:function(t){this.uniforms.floorIndex.value=t}},floorInfo:{get:function(){return this.uniforms.floorInfo.value},set:function(e){e&&e.equals(new t.Vector3(0,0,0))&&(this.defines.USE_CLIPFLOOR=!1,this.needsUpdate=!0),e&&!e.equals(new t.Vector3(0,0,0))&&(this.defines.USE_CLIPFLOOR=!0,this.uniforms.floorInfo.value=e,this.needsUpdate=!0)}},clippers:{get:function(){return this._clippers},set:function(t){this._clippers=t}},clipperPlanesArray:{get:function(){return this.uniforms.clipperPlanesArray.value},set:function(t){if(t instanceof Float32Array&&t.length>0&&t.length%6==0){var e=t.length/4;this.defines.USE_CUTER=!0,this.defines.NUM_CLIPPING_ARRAY_LENGTH=e,this.defines.NUM_CLIPPING_BOX=e/6,this.uniforms.clipperPlanesArray.value=t,this.needsUpdate=!0}else this.defines.USE_CUTER=!1,this.defines.NUM_CLIPPING_ARRAY_LENGTH=0,this.defines.NUM_CLIPPING_BOX=0,this.uniforms.clipperPlanesArray.value=new Float32Array,this.needsUpdate=!0}},clipperFloors:{get:function(){return this.uniforms.clipperFloors.value},set:function(t){this.uniforms.clipperFloors.value=t}}}),f.pano0=null!==(n=r.pano0)&&void 0!==n?n:null,f.pano1=null!==(i=r.pano1)&&void 0!==i?i:null,f.modelAlpha=null!==(s=r.modelAlpha)&&void 0!==s?s:1,f.progress=null!==(o=r.progress)&&void 0!==o?o:0,f.useBlackTransition=null!==(a=r.useBlackTransition)&&void 0!==a&&a,f.modelColorInfo=null!==(u=r.modelColorInfo)&&void 0!==u?u:null,f.opacity=null!==(h=r.opacity)&&void 0!==h?h:1,f.originOpacity=1,f.floorIndex=null!==(c=r.floorIndex)&&void 0!==c?c:-1,f.floorInfo=null!==(l=r.floorInfo)&&void 0!==l?l:null,f.clippers=null,f.clipperPlanesArray=null,f.clipperFloors=null,f}return Ht(r,e),r}(t.ShaderMaterial);function Re(t){return new Promise((function(n,i){(/^https\:/.test(t)?r:e).get(t,(function(t){var e=[];t.on("data",(function(t){return e.push(t)})),t.on("end",(function(){n(Buffer.concat(e).buffer)})),t.on("error",(function(t){return i(t)}))})).on("error",(function(t){return i(t)}))}))}const Te=n.Reader,Ce=n.util,Ie=n.roots["@REALSEE/FIVE:five/server/model/proto/pbm.proto"]||(n.roots["@REALSEE/FIVE:five/server/model/proto/pbm.proto"]={}),Oe=Ie.Model=(()=>{function t(t){if(this.chunks=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.chunks=Ce.emptyArray,t.prototype.createAt=Ce.Long?Ce.Long.fromBits(0,0,!0):0,t.prototype.description="",t.decode=function(t,e){t instanceof Te||(t=Te.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ie.Model;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Ie.Chunk.decode(t,t.uint32()));break;case 2:n.createAt=t.uint64();break;case 3:n.description=t.string();break;default:t.skipType(7&e)}}return n},t})();Ie.Chunk=(()=>{function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.vertices=null,t.prototype.faces=null,t.prototype.name="",t.prototype.texture="",t.decode=function(t,e){t instanceof Te||(t=Te.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ie.Chunk;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.vertices=Ie.Vertices.decode(t,t.uint32());break;case 2:n.faces=Ie.Faces.decode(t,t.uint32());break;case 3:n.name=t.string();break;case 4:n.texture=t.string();break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("vertices"))throw Ce.ProtocolError("missing required 'vertices'",{instance:n});if(!n.hasOwnProperty("faces"))throw Ce.ProtocolError("missing required 'faces'",{instance:n});if(!n.hasOwnProperty("name"))throw Ce.ProtocolError("missing required 'name'",{instance:n});return n},t})(),Ie.Vertices=(()=>{function t(t){if(this.xyz=[],this.uvs=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.xyz=Ce.emptyArray,t.prototype.uvs=Ce.emptyArray,t.decode=function(t,e){t instanceof Te||(t=Te.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ie.Vertices;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:if(n.xyz&&n.xyz.length||(n.xyz=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.xyz.push(t.float())}else n.xyz.push(t.float());break;case 2:if(n.uvs&&n.uvs.length||(n.uvs=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.uvs.push(t.float())}else n.uvs.push(t.float());break;default:t.skipType(7&e)}}return n},t})(),Ie.Faces=(()=>{function t(t){if(this.indices=[],this.normals=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.indices=Ce.emptyArray,t.prototype.normals=Ce.emptyArray,t.decode=function(t,e){t instanceof Te||(t=Te.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ie.Faces;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:if(n.indices&&n.indices.length||(n.indices=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.indices.push(t.uint32())}else n.indices.push(t.uint32());break;case 2:if(n.normals&&n.normals.length||(n.normals=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.normals.push(t.float())}else n.normals.push(t.float());break;default:t.skipType(7&e)}}return n},t})();var He=(new t.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1).elements;function _e(t){var e=t.match(/(group|floor)-?(\d+)/);return e?parseInt(e[2],10):0}function Be(t){var e=t.match(/(chunk)-?(\d+)/);return e?parseInt(e[2],10):0}function Ve(t){var e,r;return 1e6*_e(t.name)+1e3*Be(t.name)+(e=t.name,(r=e.match(/(sub)-?(\d+)/))?parseInt(r[2],10):0)}function je(e){for(var r=function(t){for(var e,r,n,i="number"==typeof t.createAt?t.createAt:null===t.createAt||void 0===t.createAt?0:t.createAt.toNumber(),s=null!==(e=t.description)&&void 0!==e?e:"",o=[],a=!0,u=0,h=t.chunks;u<h.length;u++)if(!(rt=h[u]).faces.normals||0===rt.faces.normals.length){a=!1;break}for(var c=t.chunks.sort((function(t,e){return Ve(t)-Ve(e)})),l=[],f=0,p=c;f<p.length;f++){var d=_e((rt=p[f]).name);l[d]||(l[d]=[]),l[d].push(rt)}for(var g=0;g<l.length;g++){var v=l[g];if(v)if(a){for(var y=0,m=0;m<v.length;m++)y+=(rt=v[m]).faces.indices.length;for(var x=3*y,b=2*y,S=3*y,E=new ArrayBuffer(4*x+4*b+4*S),w=new Float32Array(E,0,x),A=new Float32Array(E,4*x,b),P=new Float32Array(E,4*x+4*b,S),N=[],D=[1/0,1/0,1/0,-1/0,-1/0,-1/0],R=0,T=0;T<v.length;T++){var C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],I=(rt=v[T]).vertices.xyz,O=rt.vertices.uvs,H=rt.faces.indices,_=rt.faces.normals,B=H.length;for(m=0;m<B;m++){var V=H[m],j=I[3*V],z=I[3*V+1],q=I[3*V+2],k=1/(He[3]*j+He[7]*z+He[11]*q+He[15]),K=(He[0]*j+He[4]*z+He[8]*q+He[12])*k,L=(He[1]*j+He[5]*z+He[9]*q+He[13])*k,M=(He[2]*j+He[6]*z+He[10]*q+He[14])*k;w[3*R+3*m]=K,w[3*R+3*m+1]=L,w[3*R+3*m+2]=M,A[2*R+2*m]=O[2*V],A[2*R+2*m+1]=O[2*V+1];var U=3*Math.floor(m/3),F=_[U],Y=_[U+1],Q=_[U+2],Z=1/(He[3]*F+He[7]*Y+He[11]*Q+He[15]),G=(He[0]*F+He[4]*Y+He[8]*Q+He[12])*Z,W=(He[1]*F+He[5]*Y+He[9]*Q+He[13])*Z,X=(He[2]*F+He[6]*Y+He[10]*Q+He[14])*Z;P[3*R+3*m]=G,P[3*R+3*m+1]=W,P[3*R+3*m+2]=X,K<C[0]&&(C[0]=K),L<C[1]&&(C[1]=L),M<C[2]&&(C[2]=M),K>C[3]&&(C[3]=K),L>C[4]&&(C[4]=L),M>C[5]&&(C[5]=M)}C[0]<D[0]&&(D[0]=C[0]),C[1]<D[1]&&(D[1]=C[1]),C[2]<D[2]&&(D[2]=C[2]),C[3]>D[3]&&(D[3]=C[3]),C[4]>D[4]&&(D[4]=C[4]),C[5]>D[5]&&(D[5]=C[5]),N.push({materialIndex:T,name:rt.name,chunkName:Be(rt.name),start:R,count:rt.faces.indices.length,texture:null!==(r=rt.texture)&&void 0!==r?r:void 0}),R+=B}o.push({createAt:i,description:s,floorIndex:g,vertices:w,uvs:A,indices:null,normals:P,groups:N,extents:D})}else{y=0;var J=0;for(m=0;m<v.length;m++)J+=(rt=v[m]).vertices.xyz.length/3,y+=rt.faces.indices.length;x=3*J,b=2*J,S=3*J;var $=y,tt=(E=new ArrayBuffer(4*x+4*b+4*S+4*$),w=new Float32Array(E,0,x),A=new Float32Array(E,4*x,b),P=new Float32Array(E,4*x+4*b,S),new Uint32Array(E,4*x+4*b+4*S,$)),et=(N=[],D=[1/0,1/0,1/0,-1/0,-1/0,-1/0],0);for(R=0,T=0;T<v.length;T++){C=[1/0,1/0,1/0,-1/0,-1/0,-1/0],I=(rt=v[T]).vertices.xyz,O=rt.vertices.uvs,H=rt.faces.indices;var rt,nt=I.length/3;for(B=H.length,m=0;m<nt;m++)j=I[3*m],z=I[3*m+1],q=I[3*m+2],k=1/(He[3]*j+He[7]*z+He[11]*q+He[15]),K=(He[0]*j+He[4]*z+He[8]*q+He[12])*k,L=(He[1]*j+He[5]*z+He[9]*q+He[13])*k,M=(He[2]*j+He[6]*z+He[10]*q+He[14])*k,w[3*R+3*m]=K,w[3*R+3*m+1]=L,w[3*R+3*m+2]=M,A[2*R+2*m]=O[2*m],A[2*R+2*m+1]=O[2*m+1],K<C[0]&&(C[0]=K),L<C[1]&&(C[1]=L),M<C[2]&&(C[2]=M),K>C[3]&&(C[3]=K),L>C[4]&&(C[4]=L),M>C[5]&&(C[5]=M);for(C[0]<D[0]&&(D[0]=C[0]),C[1]<D[1]&&(D[1]=C[1]),C[2]<D[2]&&(D[2]=C[2]),C[3]>D[3]&&(D[3]=C[3]),C[4]>D[4]&&(D[4]=C[4]),C[5]>D[5]&&(D[5]=C[5]),m=0;m<B;m++)tt[et+m]=R+H[m];N.push({materialIndex:T,name:rt.name,chunkName:Be(rt.name),start:et,count:rt.faces.indices.length,texture:null!==(n=rt.texture)&&void 0!==n?n:void 0}),R+=nt,et+=B}for(m=0;m<y;m+=3){var it,st,ot,at,ut,ht,ct,lt,ft,pt,dt,gt,vt,yt,mt,xt;F=void 0,Y=void 0,Q=void 0,it=3*tt[m],st=3*tt[m+1],ot=3*tt[m+2],at=w[it],ut=w[it+1],ht=w[it+2],ct=w[st],lt=w[st+1],ft=w[st+2],pt=w[ot],F=(gt=w[ot+1]-lt)*(xt=ht-ft)-(vt=w[ot+2]-ft)*(mt=ut-lt),Y=vt*(yt=at-ct)-(dt=pt-ct)*xt,Q=dt*mt-gt*yt,P[it]+=F,P[it+1]+=Y,P[it+2]+=Q,P[st]+=F,P[st+1]+=Y,P[st+2]+=Q,P[ot]+=F,P[ot+1]+=Y,P[ot+2]+=Q}o.push({createAt:i,description:s,floorIndex:g,vertices:w,uvs:A,indices:tt,normals:P,groups:N,extents:D})}}return o}(e),n=0,i="",s=[],o=0,a=r;o<a.length;o++){var u=a[o],h=u.createAt,c=u.description,l=u.floorIndex,f=u.vertices,p=u.uvs,d=u.indices,g=u.normals,v=u.groups,y=u.extents,m=new t.Box3;m.min.x=y[0],m.min.y=y[1],m.min.z=y[2],m.max.x=y[3],m.max.y=y[4],m.max.z=y[5];var x=new t.BufferGeometry;x.setAttribute("position",new t.BufferAttribute(f,3)),x.setAttribute("uv",new t.BufferAttribute(p,2)),x.setAttribute("normal",new t.BufferAttribute(g,3)),d&&x.setIndex(new t.BufferAttribute(d,1)),x.boundingBox=m,x.boundingSphere=m.getBoundingSphere(new t.Sphere);for(var b=0,S=v;b<S.length;b++){var E=S[b];x.addGroup(E.start,E.count,E.materialIndex)}for(var w=[],A=0,P=v;A<P.length;A++){E=P[A];var N=new De;w.push(N),N.defines.USE_MAP=!1,N.uniforms.diffuse.value=new t.Color(16777215),N.uniforms.floorIndex.value=l}var D=new Gt(x,w);D.name="model_floor_"+l,D.floorIndex=l,D.userData.createAt=h,D.userData.description=c,n=h,i=c,s.push(D)}return{createAt:n,description:i,objects:s}}var ze={};function qe(t){return Array.prototype.reduce.call(t,(function(t,e,r){return t|e<<8*r}),0)}function ke(t){for(var e=new Uint8Array(t),r=qe(e.slice(0,4)),n=[],i=[],s=4+4*r,o=0;o<r;o++)i[o]=qe(e.slice(4+4*o,8+4*o)),n[o]=o===r-1?e.subarray(s,s+i[o]):e.slice(s,s+i[o]),s+=i[o];return Promise.resolve(function(t){for(var e,r=[],n=t.length,i=function(n){var i={data:t[n],offset:0,readByte:function(){return this.data[this.offset++]}},s=i.data.length,o={data:[],offset:0,writeByte:function(t){var e=Math.floor(this.offset/s);this.data[e]||(this.data[e]=new Uint8Array(s)),this.data[e][this.offset%s]=t,this.offset++}};ze.decompressFile(i,o),e=new Uint8Array(o.offset);for(var a=0;a<o.offset;a++)e[a]=o.data[Math.floor(a/s)][a%s];r.push(e)},s=0;s<n;s++)i(s);return r}(n))}ze.OutWindow=function(){this._windowSize=0},ze.OutWindow.prototype.create=function(t){this._buffer&&this._windowSize===t||(this._buffer=[]),this._windowSize=t,this._pos=0,this._streamPos=0},ze.OutWindow.prototype.flush=function(){var t=this._pos-this._streamPos;if(0!==t){for(;t--;)this._stream.writeByte(this._buffer[this._streamPos++]);this._pos>=this._windowSize&&(this._pos=0),this._streamPos=this._pos}},ze.OutWindow.prototype.releaseStream=function(){this.flush(),this._stream=null},ze.OutWindow.prototype.setStream=function(t){this.releaseStream(),this._stream=t},ze.OutWindow.prototype.init=function(t){t||(this._streamPos=0,this._pos=0)},ze.OutWindow.prototype.copyBlock=function(t,e){var r=this._pos-t-1;for(r<0&&(r+=this._windowSize);e--;)r>=this._windowSize&&(r=0),this._buffer[this._pos++]=this._buffer[r++],this._pos>=this._windowSize&&this.flush()},ze.OutWindow.prototype.putByte=function(t){this._buffer[this._pos++]=t,this._pos>=this._windowSize&&this.flush()},ze.OutWindow.prototype.getByte=function(t){var e=this._pos-t-1;return e<0&&(e+=this._windowSize),this._buffer[e]},ze.RangeDecoder=function(){},ze.RangeDecoder.prototype.setStream=function(t){this._stream=t},ze.RangeDecoder.prototype.releaseStream=function(){this._stream=null},ze.RangeDecoder.prototype.init=function(){var t=5;for(this._code=0,this._range=-1;t--;)this._code=this._code<<8|this._stream.readByte()},ze.RangeDecoder.prototype.decodeDirectBits=function(t){for(var e,r=0,n=t;n--;)this._range>>>=1,e=this._code-this._range>>>31,this._code-=this._range&e-1,r=r<<1|1-e,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8);return r},ze.RangeDecoder.prototype.decodeBit=function(t,e){var r=t[e],n=(this._range>>>11)*r;return(2147483648^this._code)<(2147483648^n)?(this._range=n,t[e]+=2048-r>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),0):(this._range-=n,this._code-=n,t[e]-=r>>>5,0==(4278190080&this._range)&&(this._code=this._code<<8|this._stream.readByte(),this._range<<=8),1)},ze.initBitModels=function(t,e){for(;e--;)t[e]=1024},ze.BitTreeDecoder=function(t){this._models=[],this._numBitLevels=t},ze.BitTreeDecoder.prototype.init=function(){ze.initBitModels(this._models,1<<this._numBitLevels)},ze.BitTreeDecoder.prototype.decode=function(t){for(var e=1,r=this._numBitLevels;r--;)e=e<<1|t.decodeBit(this._models,e);return e-(1<<this._numBitLevels)},ze.BitTreeDecoder.prototype.reverseDecode=function(t){for(var e,r=1,n=0,i=0;i<this._numBitLevels;++i)r=r<<1|(e=t.decodeBit(this._models,r)),n|=e<<i;return n},ze.reverseDecode2=function(t,e,r,n){for(var i,s=1,o=0,a=0;a<n;++a)s=s<<1|(i=r.decodeBit(t,e+s)),o|=i<<a;return o},ze.LenDecoder=function(){this._choice=[],this._lowCoder=[],this._midCoder=[],this._highCoder=new ze.BitTreeDecoder(8),this._numPosStates=0},ze.LenDecoder.prototype.create=function(t){for(;this._numPosStates<t;++this._numPosStates)this._lowCoder[this._numPosStates]=new ze.BitTreeDecoder(3),this._midCoder[this._numPosStates]=new ze.BitTreeDecoder(3)},ze.LenDecoder.prototype.init=function(){var t=this._numPosStates;for(ze.initBitModels(this._choice,2);t--;)this._lowCoder[t].init(),this._midCoder[t].init();this._highCoder.init()},ze.LenDecoder.prototype.decode=function(t,e){return 0===t.decodeBit(this._choice,0)?this._lowCoder[e].decode(t):0===t.decodeBit(this._choice,1)?8+this._midCoder[e].decode(t):16+this._highCoder.decode(t)},ze.Decoder2=function(){this._decoders=[]},ze.Decoder2.prototype.init=function(){ze.initBitModels(this._decoders,768)},ze.Decoder2.prototype.decodeNormal=function(t){var e=1;do{e=e<<1|t.decodeBit(this._decoders,e)}while(e<256);return 255&e},ze.Decoder2.prototype.decodeWithMatchByte=function(t,e){var r,n,i=1;do{if(r=e>>7&1,e<<=1,i=i<<1|(n=t.decodeBit(this._decoders,(1+r<<8)+i)),r!==n){for(;i<256;)i=i<<1|t.decodeBit(this._decoders,i);break}}while(i<256);return 255&i},ze.LiteralDecoder=function(){},ze.LiteralDecoder.prototype.create=function(t,e){var r;if(!this._coders||this._numPrevBits!==e||this._numPosBits!==t)for(this._numPosBits=t,this._posMask=(1<<t)-1,this._numPrevBits=e,this._coders=[],r=1<<this._numPrevBits+this._numPosBits;r--;)this._coders[r]=new ze.Decoder2},ze.LiteralDecoder.prototype.init=function(){for(var t=1<<this._numPrevBits+this._numPosBits;t--;)this._coders[t].init()},ze.LiteralDecoder.prototype.getDecoder=function(t,e){return this._coders[((t&this._posMask)<<this._numPrevBits)+((255&e)>>>8-this._numPrevBits)]},ze.Decoder=function(){this._outWindow=new ze.OutWindow,this._rangeDecoder=new ze.RangeDecoder,this._isMatchDecoders=[],this._isRepDecoders=[],this._isRepG0Decoders=[],this._isRepG1Decoders=[],this._isRepG2Decoders=[],this._isRep0LongDecoders=[],this._posSlotDecoder=[],this._posDecoders=[],this._posAlignDecoder=new ze.BitTreeDecoder(4),this._lenDecoder=new ze.LenDecoder,this._repLenDecoder=new ze.LenDecoder,this._literalDecoder=new ze.LiteralDecoder,this._dictionarySize=-1,this._dictionarySizeCheck=-1,this._posSlotDecoder[0]=new ze.BitTreeDecoder(6),this._posSlotDecoder[1]=new ze.BitTreeDecoder(6),this._posSlotDecoder[2]=new ze.BitTreeDecoder(6),this._posSlotDecoder[3]=new ze.BitTreeDecoder(6)},ze.Decoder.prototype.setDictionarySize=function(t){return!(t<0)&&(this._dictionarySize!==t&&(this._dictionarySize=t,this._dictionarySizeCheck=Math.max(this._dictionarySize,1),this._outWindow.create(Math.max(this._dictionarySizeCheck,4096))),!0)},ze.Decoder.prototype.setLcLpPb=function(t,e,r){var n=1<<r;return!(t>8||e>4||r>4)&&(this._literalDecoder.create(e,t),this._lenDecoder.create(n),this._repLenDecoder.create(n),this._posStateMask=n-1,!0)},ze.Decoder.prototype.init=function(){var t=4;for(this._outWindow.init(!1),ze.initBitModels(this._isMatchDecoders,192),ze.initBitModels(this._isRep0LongDecoders,192),ze.initBitModels(this._isRepDecoders,12),ze.initBitModels(this._isRepG0Decoders,12),ze.initBitModels(this._isRepG1Decoders,12),ze.initBitModels(this._isRepG2Decoders,12),ze.initBitModels(this._posDecoders,114),this._literalDecoder.init();t--;)this._posSlotDecoder[t].init();this._lenDecoder.init(),this._repLenDecoder.init(),this._posAlignDecoder.init(),this._rangeDecoder.init()},ze.Decoder.prototype.decode=function(t,e,r){var n,i,s,o,a,u,h=0,c=0,l=0,f=0,p=0,d=0,g=0;for(this._rangeDecoder.setStream(t),this._outWindow.setStream(e),this.init();r<0||d<r;)if(n=d&this._posStateMask,0===this._rangeDecoder.decodeBit(this._isMatchDecoders,(h<<4)+n))i=this._literalDecoder.getDecoder(d++,g),g=h>=7?i.decodeWithMatchByte(this._rangeDecoder,this._outWindow.getByte(c)):i.decodeNormal(this._rangeDecoder),this._outWindow.putByte(g),h=h<4?0:h-(h<10?3:6);else{if(1===this._rangeDecoder.decodeBit(this._isRepDecoders,h))s=0,0===this._rangeDecoder.decodeBit(this._isRepG0Decoders,h)?0===this._rangeDecoder.decodeBit(this._isRep0LongDecoders,(h<<4)+n)&&(h=h<7?9:11,s=1):(0===this._rangeDecoder.decodeBit(this._isRepG1Decoders,h)?o=l:(0===this._rangeDecoder.decodeBit(this._isRepG2Decoders,h)?o=f:(o=p,p=f),f=l),l=c,c=o),0===s&&(s=2+this._repLenDecoder.decode(this._rangeDecoder,n),h=h<7?8:11);else if(p=f,f=l,l=c,s=2+this._lenDecoder.decode(this._rangeDecoder,n),h=h<7?7:10,(a=this._posSlotDecoder[s<=5?s-2:3].decode(this._rangeDecoder))>=4){if(c=(2|1&a)<<(u=(a>>1)-1),a<14)c+=ze.reverseDecode2(this._posDecoders,c-a-1,this._rangeDecoder,u);else if(c+=this._rangeDecoder.decodeDirectBits(u-4)<<4,(c+=this._posAlignDecoder.reverseDecode(this._rangeDecoder))<0){if(-1===c)break;return!1}}else c=a;if(c>=d||c>=this._dictionarySizeCheck)return!1;this._outWindow.copyBlock(c,s),d+=s,g=this._outWindow.getByte(0)}return this._outWindow.flush(),this._outWindow.releaseStream(),this._rangeDecoder.releaseStream(),!0},ze.Decoder.prototype.setDecoderProperties=function(t){var e,r,n,i,s;return!(t.size<5)&&(r=(e=t.readByte())%9,n=(e=~~(e/9))%5,i=~~(e/5),!!this.setLcLpPb(r,n,i)&&(s=t.readByte(),s|=t.readByte()<<8,s|=t.readByte()<<16,s+=16777216*t.readByte(),this.setDictionarySize(s)))},ze.decompress=function(t,e,r,n){var i=new ze.Decoder;if(!i.setDecoderProperties(t))throw"Incorrect stream properties";if(!i.decode(e,r,n))throw"Error in data stream";return!0},ze.decompressFile=function(t,e){var r,n=new ze.Decoder;if(!n.setDecoderProperties(t))throw"Incorrect stream properties";if(r=t.readByte(),r|=t.readByte()<<8,r|=t.readByte()<<16,r+=16777216*t.readByte(),t.readByte(),t.readByte(),t.readByte(),t.readByte(),!n.decode(t,e,r))throw"Error in data stream";return!0};var Ke=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.floorIndex=0,e.needsRender=!0,e}return Ht(e,t),e.prototype.disposeGeometry=function(){this.traverse((function(t){t instanceof Gt&&t.geometry.dispose()}))},e}(t.Group);const Le=n.Reader,Me=n.util,Ue=n.roots["@REALSEE/FIVE:five/server/model/proto/dome.proto"]||(n.roots["@REALSEE/FIVE:five/server/model/proto/dome.proto"]={}),Fe=Ue.Model=(()=>{function t(t){if(this.meshes=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.meshes=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Model;for(;t.pos<r;){let e=t.uint32();if(e>>>3==1)n.meshes&&n.meshes.length||(n.meshes=[]),n.meshes.push(Ue.Mesh.decode(t,t.uint32()));else t.skipType(7&e)}return n},t})();Ue.Mesh=(()=>{function t(t){if(this.chunks=[],this.matrix=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.name="",t.prototype.chunks=Me.emptyArray,t.prototype.matrix=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Mesh;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.name=t.string();break;case 2:n.chunks&&n.chunks.length||(n.chunks=[]),n.chunks.push(Ue.Chunk.decode(t,t.uint32()));break;case 3:n.matrix&&n.matrix.length||(n.matrix=[]),n.matrix.push(Ue.Matrix.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("name"))throw Me.ProtocolError("missing required 'name'",{instance:n});return n},t})(),Ue.Matrix=(()=>{function t(t){if(this.elements=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.elements=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Matrix;for(;t.pos<r;){let e=t.uint32();if(e>>>3==1)if(n.elements&&n.elements.length||(n.elements=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.elements.push(t.float())}else n.elements.push(t.float());else t.skipType(7&e)}return n},t})(),Ue.Chunk=(()=>{function t(t){if(this.material=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.geometry=null,t.prototype.material=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Chunk;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 2:n.geometry=Ue.Geometry.decode(t,t.uint32());break;case 3:n.material&&n.material.length||(n.material=[]),n.material.push(Ue.Material.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("geometry"))throw Me.ProtocolError("missing required 'geometry'",{instance:n});return n},t})(),Ue.Geometry=(()=>{function t(t){if(this.groups=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.position=null,t.prototype.uv=null,t.prototype.uv2=null,t.prototype.normal=null,t.prototype.groups=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Geometry;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.position=Ue.Position.decode(t,t.uint32());break;case 2:n.uv=Ue.UV.decode(t,t.uint32());break;case 3:n.uv2=Ue.UV.decode(t,t.uint32());break;case 4:n.normal=Ue.Normal.decode(t,t.uint32());break;case 5:n.groups&&n.groups.length||(n.groups=[]),n.groups.push(Ue.Group.decode(t,t.uint32()));break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("position"))throw Me.ProtocolError("missing required 'position'",{instance:n});if(!n.hasOwnProperty("normal"))throw Me.ProtocolError("missing required 'normal'",{instance:n});return n},t})(),Ue.Position=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.array=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Position;for(;t.pos<r;){let e=t.uint32();if(e>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());else t.skipType(7&e)}return n},t})(),Ue.UV=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.array=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.UV;for(;t.pos<r;){let e=t.uint32();if(e>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());else t.skipType(7&e)}return n},t})(),Ue.Normal=(()=>{function t(t){if(this.array=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.array=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Normal;for(;t.pos<r;){let e=t.uint32();if(e>>>3==1)if(n.array&&n.array.length||(n.array=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.array.push(t.float())}else n.array.push(t.float());else t.skipType(7&e)}return n},t})(),Ue.Group=(()=>{function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.start=0,t.prototype.count=0,t.prototype.materialIndex=0,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Group;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.start=t.uint32();break;case 2:n.count=t.uint32();break;case 3:n.materialIndex=t.uint32();break;default:t.skipType(7&e)}}if(!n.hasOwnProperty("start"))throw Me.ProtocolError("missing required 'start'",{instance:n});if(!n.hasOwnProperty("count"))throw Me.ProtocolError("missing required 'count'",{instance:n});if(!n.hasOwnProperty("materialIndex"))throw Me.ProtocolError("missing required 'materialIndex'",{instance:n});return n},t})(),Ue.Material=(()=>{function t(t){if(t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.kd=null,t.prototype.ks=null,t.prototype.ke=null,t.prototype.mapkd="",t.prototype.mapks="",t.prototype.mapke="",t.prototype.norm="",t.prototype.mapbump="",t.prototype.bump="",t.prototype.mapd="",t.prototype.ns=0,t.prototype.d=0,t.prototype.tr=0,t.prototype.mapkdrepeat="",t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Material;for(;t.pos<r;){let e=t.uint32();switch(e>>>3){case 1:n.kd=Ue.Color.decode(t,t.uint32());break;case 2:n.ks=Ue.Color.decode(t,t.uint32());break;case 3:n.ke=Ue.Color.decode(t,t.uint32());break;case 4:n.mapkd=t.string();break;case 5:n.mapks=t.string();break;case 6:n.mapke=t.string();break;case 7:n.norm=t.string();break;case 8:n.mapbump=t.string();break;case 9:n.bump=t.string();break;case 10:n.mapd=t.string();break;case 11:n.ns=t.float();break;case 12:n.d=t.float();break;case 13:n.tr=t.float();break;case 14:n.mapkdrepeat=t.string();break;default:t.skipType(7&e)}}return n},t})(),Ue.Color=(()=>{function t(t){if(this.rgb=[],t)for(let e=Object.keys(t),r=0;r<e.length;++r)null!=t[e[r]]&&(this[e[r]]=t[e[r]])}return t.prototype.rgb=Me.emptyArray,t.decode=function(t,e){t instanceof Le||(t=Le.create(t));let r=void 0===e?t.len:t.pos+e,n=new Ue.Color;for(;t.pos<r;){let e=t.uint32();if(e>>>3==1)if(n.rgb&&n.rgb.length||(n.rgb=[]),2==(7&e)){let e=t.uint32()+t.pos;for(;t.pos<e;)n.rgb.push(t.float())}else n.rgb.push(t.float());else t.skipType(7&e)}return n},t})();var Ye={};function Qe(e){var r,n=[];function i(e,r,n){var i=function(e){var r=e.position,n=e.normal,i=e.uv,s=e.uv2,o=e.groups,a=new t.BufferGeometry;return a.setAttribute("position",new t.BufferAttribute(new Float32Array(r.array),3)),n&&a.setAttribute("normal",new t.BufferAttribute(new Float32Array(n.array),3)),i&&a.setAttribute("uv",new t.BufferAttribute(new Float32Array(i.array),2)),s&&a.setAttribute("uv2",new t.BufferAttribute(new Float32Array(s.array),2)),o.forEach((function(t){return a.addGroup(t.start,t.count,t.materialIndex)})),a}(e);i.applyMatrix4(n);var s=new t.Vector3,o=new t.Quaternion,a=new t.Vector3;return n.decompose(s,o,a),a.x*a.y*a.z<0&&i.attributes.normal&&i.attributes.position&&i.attributes.uv&&function(t){for(var e=[0,0,0],r=0;r<t.attributes.normal.array.length/9;r++)e[0]=t.attributes.normal.array[9*r],e[1]=t.attributes.normal.array[9*r+1],e[2]=t.attributes.normal.array[9*r+2],t.attributes.normal.array[9*r]=t.attributes.normal.array[9*r+6],t.attributes.normal.array[9*r+1]=t.attributes.normal.array[9*r+7],t.attributes.normal.array[9*r+2]=t.attributes.normal.array[9*r+8],t.attributes.normal.array[9*r+6]=e[0],t.attributes.normal.array[9*r+7]=e[1],t.attributes.normal.array[9*r+8]=e[2];for(r=0;r<t.attributes.position.array.length/9;r++)e[0]=t.attributes.position.array[9*r],e[1]=t.attributes.position.array[9*r+1],e[2]=t.attributes.position.array[9*r+2],t.attributes.position.array[9*r]=t.attributes.position.array[9*r+6],t.attributes.position.array[9*r+1]=t.attributes.position.array[9*r+7],t.attributes.position.array[9*r+2]=t.attributes.position.array[9*r+8],t.attributes.position.array[9*r+6]=e[0],t.attributes.position.array[9*r+7]=e[1],t.attributes.position.array[9*r+8]=e[2];for(r=0;r<t.attributes.uv.array.length/6;r++)e[0]=t.attributes.uv.array[6*r],e[1]=t.attributes.uv.array[6*r+1],t.attributes.uv.array[6*r]=t.attributes.uv.array[6*r+4],t.attributes.uv.array[6*r+1]=t.attributes.uv.array[6*r+5],t.attributes.uv.array[6*r+4]=e[0],t.attributes.uv.array[6*r+5]=e[1];t.attributes.normal.needsUpdate=!0,t.attributes.position.needsUpdate=!0,t.attributes.uv.needsUpdate=!0}(i),new Gt(i)}return(r=e,Fe.decode(r).meshes).forEach((function(e){var r=e.name,s=e.chunks,o=e.matrix;"Ceiling"!==r&&"CeilingDrop"!==r&&o.map((function(e){var o,a=new t.Matrix4;if(a.elements=e.elements,1===s.length){var u=s[0],h=u.geometry;u.material;o=i(h,0,a)}else o=new Ke,s.forEach((function(t,e){var r=t.geometry,n=(t.material,i(r,0,a));n.name="chunk"+e,o.add(n)}));o.floorIndex=0,o.name=r,n.push(o)}))})),{objects:n,createAt:0,description:""}}function Ze(){Object.keys(Ye).forEach((function(t){Ye[t].dispose(),delete Ye[t]}))}function Ge(t){return null==t}var We=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.needsRender=!0,e}return Ht(e,t),e.prototype.disposeGeometry=function(){this.traverse((function(t){t instanceof Gt&&t.geometry.dispose()}))},e}(t.Group),Xe=function(e,r){void 0===r&&(r=1e-4),r=Math.max(r,Number.EPSILON);for(var n={},i=e.getIndex(),s=e.getAttribute("position"),o=i?i.count:s.count,a=0,u=Object.keys(e.attributes),h={},c={},l=[],f=["getX","getY","getZ","getW"],p=0,d=u.length;p<d;p++){h[b=u[p]]=[],(A=e.morphAttributes[b])&&(c[b]=new Array(A.length).fill().map((function(){return[]})))}var g=Math.log10(1/r),v=Math.pow(10,g);for(p=0;p<o;p++){var y=i?i.getX(p):p,m="",x=0;for(d=u.length;x<d;x++)for(var b=u[x],S=(w=e.getAttribute(b)).itemSize,E=0;E<S;E++)m+="".concat(~~(w[f[E]](y)*v),",");if(m in n)l.push(n[m]);else{for(x=0,d=u.length;x<d;x++){b=u[x];var w=e.getAttribute(b),A=e.morphAttributes[b],P=(S=w.itemSize,h[b]),N=c[b];for(E=0;E<S;E++){var D=f[E];if(P.push(w[D](y)),A)for(var R=0,T=A.length;R<T;R++)N[R].push(A[R][D](y))}}n[m]=a,l.push(a),a++}}var C=e.clone();for(p=0,d=u.length;p<d;p++){b=u[p];var I=e.getAttribute(b),O=new I.array.constructor(h[b]);w=new t.BufferAttribute(O,I.itemSize,I.normalized);if(C.setAttribute(b,w),b in c)for(x=0;x<c[b].length;x++){var H=e.morphAttributes[b][x],_=(O=new H.array.constructor(c[b][x]),new t.BufferAttribute(O,H.itemSize,H.normalized));C.morphAttributes[b][x]=_}}return C.setIndex(l),C};function Je(e){var r;return new((r=t.Triangle).bind.apply(r,Bt([void 0],e.map((function(e){return new t.Vector3(e.x,e.y,e.z)})),!1)))}var $e={at3d:function(t){return Promise.resolve().then((function(){return Re(t.file)})).then((function(t){return ke(t)})).then((function(t){for(var e,r={chunks:[],createAt:void 0,description:void 0},n=0,i=t;n<i.length;n++){var s=i[n],o=Oe.decode(s);o.chunks.length&&((e=r.chunks).push.apply(e,o.chunks),r.createAt=o.createAt,r.description=o.description)}return r})).then((function(t){return je(t)}))},pbm:function(t){return Promise.resolve().then((function(){return Re(t.file)})).then((function(t){var e=new Uint8Array(t);return Oe.decode(e)})).then((function(t){return je(t)}))},dome:function(t){return Promise.resolve().then((function(){return Ze()})).then((function(){return Re(t.file)})).then((function(t){return Qe(new Uint8Array(t))}))},domez:function(t){return Promise.resolve().then((function(){return Ze()})).then((function(){return Re(t.file)})).then((function(t){return ke(t)})).then((function(t){var e=t.reduce((function(t,e){return t+e.length}),0),r=new Uint8Array(e),n=0;return t.forEach((function(t){r.set(t,n),n+=t.length})),r})).then((function(t){return Qe(t)}))}},tr=function(e){function r(){var r=e.call(this)||this;return r.empty=!1,r.name="model",r.loaded=!1,r.bvhs=[],r.bounding=new t.Box3,r.shownfloor=null,r.floorLength=0,r}return Ht(r,e),r.prototype.getEdges=function(e){var r;void 0===e&&(e=30/180*Math.PI);for(var n=Math.cos(e),i=[],s=0,o=this.children;s<o.length;s++){var a=o[s];if(a instanceof Gt){for(var u={},h=["a","b","c"],c=Xe(a.geometry),l=c.getAttribute("position").array,f=(null===(r=c.getIndex())||void 0===r?void 0:r.array)||[],p=[],d=[],g=0,v=l.length;g<v;g+=3)p.push(new t.Vector3(l[g],l[g+1],l[g+2]));for(g=0,v=f.length;g<v;g+=3){var y=f[g],m=f[g+1],x=f[g+2],b=(new t.Vector3).crossVectors(p[m].clone().sub(p[y]),p[x].clone().sub(p[y])).normalize();d.push({a:y,b:m,c:x,normal:b})}for(g=0,v=d.length;g<v;g++)for(var S=d[g],E=0;E<3;E++){var w=S[h[E]],A=S[h[(E+1)%3]],P=[Math.min(w,A),Math.max(w,A)];void 0===u[N=P[0]+"-"+P[1]]?u[N]={index1:P[0],index2:P[1],face1:g}:u[N].face2=g}for(var N in u){var D=u[N];if(void 0===D.face2||d[D.face1].normal.dot(d[D.face2].normal)<=n){var R=p[D.index1],T=p[D.index2];i.push(new t.Line3(R,T))}}c.dispose(),p.length=0,d.length=0}}return i},r.prototype.hasFloors=function(){return this.hasFloors_()},r.prototype.hasFloors_=function(){var t=[];return this.traverse((function(e){e instanceof Gt&&(t[e.floorIndex]=!0)})),t.length},r.prototype.show=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=0!==t.length;this.shownfloor=r?t[0]:null,this.needsRender=!0},r.prototype.intersectRaycaster=function(e,r){var n=e.ray,i=n.origin,s=n.direction;if(Ge(r))if(Ge(this.shownfloor)){var o=this.hasFloors();r=[];for(var a=0;a<o;a++)r.push(a)}else r=[this.shownfloor];var u=[],h=[];Array.isArray(r)?h.push.apply(h,r):h.push(r);for(var c=function(r){var n=l.bvhs&&l.bvhs[r];if(n){var o=new kt(i.x,i.y,i.z),a=new kt(s.x,s.y,s.z),h=n.intersectRay(o,a,!0).map((function(e){var r=e.intersectionPoint,n=e.triangle,s=new t.Vector3(r.x,r.y,r.z);return{point:s,face:{normal:Je(n).getNormal(new t.Vector3)},distance:i.distanceTo(s)}}));h.length&&u.push.apply(u,h)}else{var c=[];l.traverse((function(t){t instanceof Gt&&t.floorIndex===r&&c.push(t)})),(h=e.intersectObjects(c).map((function(t){var e=t.face?{normal:t.face.normal}:void 0;return{point:t.point,face:e,distance:t.distance}}))).length&&u.push.apply(u,h)}},l=this,f=0,p=h;f<p.length;f++){c(p[f])}return u.filter((function(t){var r=t.distance;return r<=e.far&&r>=e.near})).sort((function(t,e){return t.distance-e.distance}))},r.prototype.buildBVH=function(){var t,e=[];this.traverse((function(t){t instanceof Gt&&(e[t.floorIndex]=e[t.floorIndex]||[],e[t.floorIndex].push(t.geometry))}));var r=e.map((function(t){var e=t.reduce((function(t,e){return t+(e.index?e.index.array.length:e.attributes.position.array.length)}),0),r=new Float32Array(3*e);return t.reduce((function(t,e){for(var n=e.index?e.index.array:null,i=e.attributes.position.array,s=n?n.length:i.length/3,o=0;o<s;o++){var a=3*(t+o),u=n?3*n[o]:3*o;r[a+0]=i[u+0],r[a+1]=i[u+1],r[a+2]=i[u+2]}return t+s}),0),new Zt(r,10)}));this.bvhs.length=0,(t=this.bvhs).push.apply(t,r),this.bvhs.loaded=!0,this.emit("bvhLoaded")},r.prototype.load=function(t){var e=this;if(!0===this.loaded)throw new Error("model 只能被 load 一次");var r=$e[function(t,e){void 0===e&&(e=[]);var r=/([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(t);if(r)for(var n=String(r[1]).trim().split("."),i=0,s=e;i<s.length;i++){var o=s[i];if(n.indexOf(o)>=0)return o}}(t.file,Object.keys($e))||""];if(!r)throw new Error("文件类型错误");return r(t).then((function(t){var r=t.createAt,n=t.description,i=t.objects;e.userData.createAt=r,e.userData.description=n,e.bounding.makeEmpty();for(var s=e.originModel=new We,o=0,a=i;o<a.length;o++){var u=a[o];u.traverse((function(t){if(t instanceof Gt){var r=t.geometry;r.boundingBox||r.computeBoundingBox(),r.boundingSphere||r.computeBoundingSphere(),e.bounding.union(r.boundingBox)}})),s.add(u)}e.add(s),e.floorLength=e.hasFloors_(),e.emit("geometryLoaded"),e.emit("loaded"),e.loaded=!0})).catch((function(t){return e.emit("error",t),Promise.reject(t)}))},r.prototype.dispose=function(){for(this.off(),this.disposeGeometry();this.children.length;)this.remove(this.children[0]);this.bvhs.length=0,delete this.bvhs.loaded},r}(Ke);Object.assign(tr.prototype,{on:ue.prototype.on,once:ue.prototype.once,off:ue.prototype.off,emit:ue.prototype.emit,hasListener:ue.prototype.hasListener});function er(t,e,r){return t<e?e:t>r?r:t}function rr(t){return 0===t.indexOf("//")||/^[0-9a-z]+\:/i.test(t)}function nr(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=[];t=t.map((function(t){return(null!=t?t:"").trim()})).filter((function(t){return t.length>0&&!/^\/+$/.test(t)}));for(var n=0;n<t.length;n++){var i=0===n,s=n===t.length-1,o=t[n];i||(o=o.replace(/^\/+/,"")),s||(o=o.replace(/\/+$/,"")),r.push(o)}return r.join("/")}function ir(t,e){if(t===e)return!0;if(t&&e&&"object"==typeof t&&"object"==typeof e){if(t.constructor!==e.constructor)return!1;var r,n,i;if(Array.isArray(t)){if((r=t.length)!=e.length)return!1;for(n=r;0!=n--;)if(!ir(t[n],e[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if((r=(i=Object.keys(t)).length)!==Object.keys(e).length)return!1;for(n=r;0!=n--;)if(!Object.prototype.hasOwnProperty.call(e,i[n]))return!1;for(n=r;0!=n--;){var s=i[n];if(!ir(t[s],e[s]))return!1}return!0}return t!=t&&e!=e}function sr(t){return"number"==typeof t}var or=function(){return new Error("Invalid input.")},ar=function(){return new Error("Invalid certificate.")},ur=function(){return new Error("Invalid signature.")};function hr(t,e){void 0===e&&(e=!1);var r=typeof t;if("string"===r)return JSON.stringify(t);if(!0===t)return"true";if(!1===t)return"false";if(null===t)return"null";if(t instanceof Array){for(var n="[",i=t.length-1,s=0;s<i;s++)n+=hr(t[s],!1)+",";return i>-1&&(n+=hr(t[s],!1)),n+"]"}if(t instanceof Object){if("function"==typeof t.toJSON)return hr(t.toJSON(),e);var o=Object.keys(t).sort(),a=o.length;for(n="",s=0;s<a;){var u=o[s],h=hr(t[u],!0);void 0!==h&&(s&&""!==n&&(n+=","),n+=JSON.stringify(u)+":"+h),s++}return"{"+n+"}"}switch(r){case"function":case"undefined":return e?void 0:null;case"number":return 0;default:return isFinite(t)?t:null}}function cr(t){return String(hr(t,!1))}function lr(t){var e,r,n;if(Array.isArray(t)){var i,s,o=void 0;if(t.length<=0)return or();for(var a=function(e){var r=lr(t[e]);if(r instanceof Error)return{value:r};if(o){if(o!==r.issuer)return{value:ar()}}else o=r.issuer;i?r.expire.getTime()<i.getTime()&&(i=r.expire):i=r.expire,s=s?s.filter((function(t){return-1!==r.allowHosts.indexOf(t)})):r.allowHosts},u=0;u<t.length;u++){var h=a(u);if("object"==typeof h)return h.value}return le({issuer:o,expire:i,allowHosts:s})}var c=JSON.parse(t),l="undefined"!=typeof location?location.hostname:"",f=Date.now();if("object"!=typeof c)return or();var p=new Date("string"==typeof c.expire_at&&/^\d+$/.test(c.expire_at)?Number(c.expire_at):c.expire_at),d=Array.isArray(c.allow_hosts)?c.allow_hosts:[];if(0===l.length||/^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])(\.(?!$)|$)){4}$/.test(l)||de.filter((function(t){return pe(t,l)})).length>0){var g=String(null!==(e=c.certificate)&&void 0!==e?e:"");if(g){var v=new Nt;return v.readCertPEM(g),le({issuer:v.getSubjectString(),expire:p,allowHosts:d})}return le({issuer:"none",expire:p,allowHosts:d})}var y=String(null!==(r=c.certificate)&&void 0!==r?r:"");if(!y)return ar();var m=new Nt;m.readCertPEM(y);var x=String(null!==(n=c._signature)&&void 0!==n?n:"");if(!x)return ur();var b=cr(function(t,e){for(var r={},n=0,i=Object.keys(t);n<i.length;n++){var s=i[n];-1===e.indexOf(s)&&(r[s]=t[s])}return r}(c,["_signature"]));return!1===function(t,e,r){var n=new Nt;if("string"==typeof r?n.readCertPEM(r):n.readCertHex(r.hex),!1===It(n))return!1;var i=new Q;return i.readCertPubKeyHex(n.hex,6),!!i.verify(t,H(e))}(b,x,m)?ur():f<p.getTime()?0===d.filter((function(t){return pe(t,l)})).length?function(t){return new Error("host(".concat(JSON.stringify(t),") is not allowed."))}(l):le({issuer:m.getSubjectString(),expire:p,allowHosts:d}):function(t){return new Error("date(".concat(t.toString(),") expired."))}(p)}var fr=new WeakMap,pr=function(){function t(){this.name="",this.workCode="",this.expire=new Date,this.allowHosts=[],this.initial={mode:"Panorama",latitude:0,longitude:0,panoIndex:0,fov:80},this.observers=[],this.issuer="none",this.raw={works:[""],options:""}}return t.prototype.toJSON=function(){return this.raw.works},t.parse=yr,t}();function dr(t){return null==t?"null":Array.isArray(t)?"array":"object"==typeof t?"dict":"value"}function gr(t,e){var r=dr(t),n=dr(e);if("null"===n)return t;if("value"===n)return e;if(n!==r)return JSON.parse(JSON.stringify(e));if("array"===n)for(var i=0;i<e.length;i++)t[i]=gr(t[i],e[i]);else if("dict"===n)for(var s in e)t[s]=gr(t[s],e[s]);return t}function vr(e,r,n){for(var i,s=JSON.stringify(r),o=[],a=0,u=[].concat(e);a<u.length;a++){var h=u[a];h instanceof pr?o.push.apply(o,h.raw.works):"string"==typeof h?o.push(h):o.push(JSON.stringify(h))}var c=lr(o);if(c instanceof Error)return c;r=JSON.parse(s),e=o.map((function(t){return JSON.parse(t)})).reduce((function(t,e){return gr(t,e)}));var l=new pr;if(c instanceof Error)return c;l.issuer=c.issuer,l.expire=c.expire,l.allowHosts=c.allowHosts,l.raw={works:o,options:s};var f=null!==(i=e.base_url)&&void 0!==i?i:"";f&&"/"!==f[f.length-1]&&(f+="/");var p=function(t,e){return 0===t.indexOf(e)},d=function(t,e){var i,s=t;if(!0===r.jsonp){s=t.replace(/([\?\#].*)?$/i,"");var o=Dt("".concat(s)).slice(0,7);s="".concat(s,".").concat(o,".jsonp")}if(!0===r.shortPath){var a=s.replace(f,"").split("."),u=null!==(i=a.shift())&&void 0!==i?i:"",h=a.join(".");s=nr(f,Dt(u))+(h?"."+h:"")}var c=s.replace(f,"");return r.baseURL&&(s=nr(r.baseURL,c)),n&&n(t,s,c,e),s},g=function(t,r){var n,i,s,o,a,u,h=t;if(!rr(t)){var c=null!==(u=null!==(o=null!==(i=null===(n=e.panorama)||void 0===n?void 0:n.pano_high_cube_base_url)&&void 0!==i?i:null===(s=e.panorama)||void 0===s?void 0:s.pano_cube_base_url)&&void 0!==o?o:null===(a=e.panorama)||void 0===a?void 0:a.base_url)&&void 0!==u?u:"";c&&(c=nr(c,String(r))),h=nr(c,h)}return rr(h)||(h=nr(f,h)),p(h,f)||console.warn("".concat(h," is not start with base_url(").concat(f,").")),d(h,"panorama")},v=function(t){var e=t;return rr(e)||(e=nr(f,t)),p(e,f)||console.warn("".concat(e," is not start with base_url(").concat(f,").")),d(e,"model")},y=function(t,e){void 0===e&&(e="");var r=t;return rr(r)||(r=nr(e,r)),rr(r)||(r=nr(f,r)),p(r,f)||console.warn("".concat(r," is not start with base_url(").concat(f,").")),d(r,"texture")};if(c instanceof Error)return c;if(l.workCode=String(e.work_code||e.code||e.vr_code||e.workCode),l.name=String(e.name),c instanceof Error)return c;if(e.model){var m={bvh:!0,async:!1,textureBase:"",textures:[]};"boolean"==typeof r.modelBvh?m.bvh=r.modelBvh:"boolean"==typeof e.model.bvh?m.bvh=e.model.bvh:"boolean"==typeof e.bvh&&(m.bvh=e.bvh),e.model.file?m.file=v(e.model.file):e.model.file_url&&(m.file=v(e.model.file_url)),e.model.textureBase?m.textureBase=y("",e.model.textureBase):e.model.material_base_url?m.textureBase=y("",e.model.material_base_url):m.file&&(m.textureBase=m.file.split("/").slice(0,-1).join("/").replace("/model/","/materials/")),Array.isArray(e.model.textures)?m.textures=e.model.textures.map((function(t){var r,n;return y(t,null!==(n=null!==(r=e.model.textureBase)&&void 0!==r?r:e.model.material_base_url)&&void 0!==n?n:"")})):Array.isArray(e.model.material_textures)&&(m.textures=e.model.material_textures.map((function(t){var r,n;return y(t,null!==(n=null!==(r=e.model.textureBase)&&void 0!==r?r:e.model.material_base_url)&&void 0!==n?n:"")}))),e.model.tiles&&(m.tiles=e.model.tiles),m.file&&(l.model=m)}if(c instanceof Error)return c;if(e.observers&&Array.isArray(e.observers)){var x=[];e.panorama&&(Array.isArray(e.panorama)?x=e.panorama:Array.isArray(e.panorama.list)?x=e.panorama.list:Array.isArray(e.panorama.info)&&(x=e.panorama.info));for(var b=0;b<e.observers.length;b++){var S={},E=e.observers[b];if(!E)break;var w=x[b];if(!w)break;E=Object.assign({},E,w,{active:!1!==E.active&&!1!==w.active}),S.panoIndex=b,S.active=!1!==E.active,S.loadable=!0===E.loadable,S.images={up:g(E.images?E.images.up:E.up,b),down:g(E.images?E.images.down:E.down,b),right:g(E.images?E.images.right:E.right,b),left:g(E.images?E.images.left:E.left,b),front:g(E.images?E.images.front:E.front,b),back:g(E.images?E.images.back:E.back,b)};var A=E.images?E.images.depth:E.depth;A&&(S.images.depth=g(A,b));var P=E.images?E.images.luminance:E.luminance;P&&(S.images.luminance={up:g(P.up,b),down:g(P.down,b),right:g(P.right,b),left:g(P.left,b),front:g(P.front,b),back:g(P.back,b)});var N=E.images?E.images.tiles:E.tiles;if(N){for(var D=[],R=function(t){var e,r=t.match(/\/cube_(\d+)\//);if(r){var n=Number(r[1]);if(0==((e=n)&e-1)&&0!==e)return n}return!1},T=function(t,e){return t.replace(/\/cube_(\d+)\//,(function(){return"/cube_".concat(e,"/")}))},C=0,I=N;C<I.length;C++){var O=I[C];if("number"==typeof O){var H=O,_=R(S.images.front);if(!1===_)continue;if((K=Math.max(_,512*Math.pow(2,H)))>2048){var B=T(S.images.up,K),V=T(S.images.down,K),j=T(S.images.right,K),z=T(S.images.left,K),q=T(S.images.front,K),k=T(S.images.back,K);D.push({level:H,size:K,up:B,down:V,right:j,left:z,front:q,back:k})}else{B=S.images.up,V=S.images.down,j=S.images.right,z=S.images.left,q=S.images.front,k=S.images.back;D.push({level:H,size:K,up:B,down:V,right:j,left:z,front:q,back:k})}}else{var K;if("number"!=typeof(H=O.level))continue;if("number"!=typeof(K=O.size))continue;B=g(O.up,b),V=g(O.down,b),j=g(O.right,b),z=g(O.left,b),q=g(O.front,b),k=g(O.back,b);D.push({level:H,size:K,up:B,down:V,right:j,left:z,front:q,back:k})}}D.sort((function(t,e){return t.level-e.level})),S.images.tiles=D}if(E.position instanceof t.Vector3)S.position=E.position.clone();else{if(!Array.isArray(E.position))break;S.position=(new t.Vector3).fromArray(E.position)}if(E.standingPosition instanceof t.Vector3)S.standingPosition=E.standingPosition.clone();else if(Array.isArray(E.standingPosition))S.standingPosition=(new t.Vector3).fromArray(E.standingPosition);else if(E.standing_position instanceof t.Vector3)S.standingPosition=E.standing_position.clone();else{if(!Array.isArray(E.standing_position))break;S.standingPosition=(new t.Vector3).fromArray(E.standing_position)}if(E.quaternion instanceof t.Quaternion)S.quaternion=E.quaternion.clone();else if(Array.isArray(E.quaternion))S.quaternion=(new t.Quaternion).fromArray(E.quaternion);else{if(!E.quaternion)break;var L=E.quaternion,M=L.x,U=L.y,F=L.z,Y=L.w;S.quaternion=new t.Quaternion(M,U,F,Y)}if(Array.isArray(E.accessibleNodes)?S.accessibleNodes=E.accessibleNodes.slice():Array.isArray(E.accessible_nodes)&&(S.accessibleNodes=E.accessible_nodes.slice()),Array.isArray(E.visibleNodes)?S.visibleNodes=E.visibleNodes.slice():Array.isArray(E.visible_nodes)&&(S.visibleNodes=E.visible_nodes.slice()),sr(E.floorIndex)?S.floorIndex=E.floorIndex:sr(E.floor_index)?S.floorIndex=E.floor_index:S.floorIndex=0,E.video){var Q={};"string"==typeof E.video.source&&(Q.source=E.video.source),E.video.matrix instanceof t.Matrix4?Q.matrix=E.video.matrix.clone():Array.isArray(E.video.matrix)&&(Q.matrix=(new t.Matrix4).fromArray(E.video.matrix)),E.video.size instanceof t.Vector2?Q.size=E.video.size.clone():Array.isArray(E.video.size)&&(Q.size=(new t.Vector2).fromArray(E.video.size)),Q.source&&Q.matrix&&Q.size&&(S.video=Q)}l.observers[b]=S}}if(c instanceof Error)return c;for(var Z=0,G=l.observers;Z<G.length;Z++){if((S=G[Z]).accessibleNodes)S.accessibleNodes=S.accessibleNodes.filter((function(t){return t<l.observers.length}));else{S.accessibleNodes=[];for(var W=0;W<l.observers.length;W++)l.observers[W]!==S&&S.accessibleNodes.push(W)}if(S.visibleNodes)S.visibleNodes=S.visibleNodes.filter((function(t){return t<l.observers.length}));else{S.visibleNodes=[];for(W=0;W<l.observers.length;W++)l.observers[W]!==S&&S.visibleNodes.push(W)}}if(c instanceof Error)return c;if(e.initial)if("Floorplan"!==e.initial.mode&&"Topview"!==e.initial.mode&&"Panorama"!==e.initial.mode&&"VRPanorama"!==e.initial.mode&&"Model"!==e.initial.mode&&"DepthPanorama"!==e.initial.mode||(l.initial.mode=e.initial.mode),sr(e.initial.latitude)&&(l.initial.latitude=e.initial.latitude),sr(e.initial.longitude)?l.initial.longitude=e.initial.longitude:sr(e.initial.heading)&&(l.initial.longitude=-(360*(e.initial.heading-.25)+90)/180*Math.PI),sr(e.initial.fov)&&(l.initial.fov=e.initial.fov),sr(e.initial.panoIndex)){var X=l.observers.length>0?l.observers.length-1:0;l.initial.panoIndex=er(e.initial.panoIndex,0,X)}else if(sr(e.initial.pano_index)){X=l.observers.length>0?l.observers.length-1:0;l.initial.panoIndex=er(e.initial.pano_index,0,X)}else if(sr(e.initial.pano)){X=l.observers.length>0?l.observers.length-1:0;l.initial.panoIndex=er(e.initial.pano,0,X)}if(c instanceof Error)return c;var J=le(l);return fr.set(J,{works:o,options:s}),J}function yr(t,e,r){"string"==typeof t&&"{"===t.trim()[0]&&(t=JSON.parse(t));var n=fr.get(t);if(n){if(e&&!ir(JSON.parse(n.options),e))throw new Error("[PARSE FAILED]: work is parsed with different options.");return t}var i=vr(t,null!=e?e:{},r);if(i instanceof Error)throw new Error("[PARSE FAILED]: "+i.message+"\nError work input:\n"+JSON.stringify(t));return i}export{Zt as BVH,Qt as BVHIntersect,Kt as BVHNode,kt as BVHVector3,tr as Model,We as PBMContainer,Ke as PBMGroup,Gt as PBMMesh,ue as Subscribe,pr as Work,yr as parseWork};
|