Performance Testing
Performance Testing
Class1:
Software → it nothing but group of Business logic Code( java | C | Java Script | Python etc., )
If software works fine/good. End User will attract to use the Software. So that brand value,
Trust and Revenue increases.
1. Functional Testing
2. Non-Functional Testing
1.Functional Testing:
In this Section, Tester will verify the Functionality of an application/Software as per the
design.
Example:
Valid case:
If you search in flipkart application, like “Apple”. Application should display apple products.
So that tester will confirm it functionally works fine.
Invalid Case:
If you search in flipkart application, like “Apple”. Application displays the different products.
So that the tester will confirm it functionally not works fine.
Testers will raise Defects/bugs in Software/Project Management tools. Like Jira / BugZilla /
ALM etc.,
Class2:
2.Non-Functional Testing:
What ?
In this section, Testers will verify the application in terms of Speed, Stability,
scalability and security.
Why ?
If software works fine/good in terms of speed, stability and scalability and security
End User will attract to use the Software. So that brand value, Trust and Revenue
increases.
1.Performance Testing:
What ?
In this section, Testers will verify the application in terms of speed, stability and
scalability under the Load and Stress Conditions.
Why ?
If software works fine/good in terms of speed, stability and scalability. End User will
attract to use the Software. So that brand value, Trust and Revenue increases.
We have a lot of PT Tools available in the market with the help of that we can perform
the Performance testing for all applications.
1. Apache Jmeter
2. Microfocus Load Runner
3. Neoload
4. VSTS
5. Blazemeter
6. Locust
7. Gatling etc.,
Class3:
—------------------------------------------------------------------------------
1. POC | NFR ( Non Functional Requirements )
2. Test Strategy / Test Plan Documentation (10 %)
3. Workload Model
—-----------------------------------------------------------------------------
4. PT Scripting
5. Scenario Design and Execution Tools ( 80%)
—-----------------------------------------------------------------------------
6. PT Report Preparation Documentation (10%)
7. Analyse the PT Report and Find out the Bottlenecks
8. Recommend or Provide the Solutions for the Identified Bottlenecks
—------------------------------------------------------------------------------
1. Load Test
2. Stress Test
3. Endurance Test
4. Spike Test
5. Volume Test
6. Scalability Test
Load Test:
What ?
The objective of this test is to verify if the application can able to handle the
maximum user load or not.
Why ?
In this Phase, we have to verify the application with maximum user load and
monitor the server during the test, how fast the server response and how is the
Server Utilization.
Stress Test:
What ?
In this Phase, The objective of this test is to identify the “ Breaking Point of an
application “.
Why?
We have to verify the application with 2X , 3X , 4X User Loads and monitor the
server during the test, how fast the server response and how is the Server
Utilisation.
Class4:
Endurance Test:
What ?
The objective of this test is to identify whether the “Application has any memory
Leakage issues or Connection Failures”.
Why ?
Sometimes users can access the application for a longer duration ( 8 | 12 | 16 | 20 |
24 | 36 hours) but few instances or Few applications have Memory Related issues
or Connection Failures (Session Timeouts or Reload the application). To
overcome those issues we are going to perform Endurance test.
Spike Test:
What ?
The objective of this test is “ to verify the application with unexpected user load “.
Why ?
In this Phase, we have to verify the application with unexpected user load and
monitor the server during the test, how fast the server response and how is the
Server Utilization.
Example:
Amazon Application
It has a lot of pages but if any one of the page has more traffic due to offers.So we
have to Simulate/Replicate the Production Scenario.
Volume Test:
What ?
The objective of this test is “ to verify the application with huge data points “.
Why ?
In this Phase, we have to verify the application with huge data points and monitor
the server during the test, how fast the server response and how is the Server
Utilization.
Scalability Test:
What ?
The objective of this test is “ to verify the application how maximum user load,
application can able to handle or not“.
Or
The objective of this test is “ to verify the application with future expected user
load “.
Why ?
In this Phase,we need to apply the load on to the application, to verify how
maximum users can able to handle ( Threshold factors) and also monitor the
server during the test, how fast the server response and how is the Server
Utilization
As part of Non Functional Requirement, we have to collect the below key metrics,
Class5:
Test Plan:
1. Objective of Test plan
2. Scope
i). In-scope
ii).Out of scope
3. Environment Information
4. Entry Criteria
5. Exist Criteria
6. Types of Testing
7. Workload Model
8. Risks and mitigation
9. SLA
10. Conclusion
Class6:
If you want to run Jmeter windows batch file, In Laptop/Desktop Java Software Should be
mandatory.
1. Search as cmd
2. Java -version
How to install java ?
We can install the old version of Jmeter under the Apache Jmeter Archives Section.
1.GUI Mode:
This mode we will use Script Recording | Script Debugging | Scenario Execution
2.Non-GUI Mode:
Why Non Gui Mode is preferable for Scenario Execution ( Load Test | Stress Test |
Endurance Test etc.,) ?
In GUI mode → In order to View the Scenario Execution Results, we need to add
Listeners but Listeners are occupying more memory.
In Non-GUI Mode → No need to add any listeners to view the scenario execution
Results. Why because the Jmeter tool Non Gui mode has an algorithm to generate
Scenario Execution Results file (.jtl).
Control + c → copy
Control + V → Paste
Control + X → cut
Control + Z → undo
Control + Y → redo
Class8:
PT Scripting:
Prerequisites:
1. Understand the Business Flow Steps and Critical Use Cases.
2. Record the Business Flow using PT Tool.
3. Debug the Script ( Correlation | Parameterization | Assertions/Check Points)
Example:
Flipkart Application:
Search Product
Purchase Product
Track the order
Return/Replace Order
Chat with Customer Care Representative
Register User
Class9:
Petstore Application:
https://petstore.octoperf.com/actions/Catalog.action
1. Register User
2. Purchase Product
3. View Order
Register User:
1. Launch the Application
2. Click on Sign In
3. Click on RegisterNow
4. Click on SaveAccountInformation
Purchase Product:
1. Launch the Application
2. Click on Signin
3. Click on Login
4. Click on Search
5. Select the Search Product
6. Select the ItemID
7. Click on AddtoCart
8. Click on ProceedtoCheckout
9. Click on Continue
10. Click on Confirm
11. Click on SignOut
View Order:
1. Launch the Application
2. Click on Signin
3. Click on Login
4. Click on MYAccount
5. Click on MyOrders
6. Select the OrderID
7. Click on Signout.
Example:
Flipkart : I want to verify the application performance with 1000 Concurrent Users.
1. 1000 Employees
2. Every employee should have Laptop/Desktop/Mobile.
1000*50000=50000000 = 5 cores
1000*30000= = 3 cores
The Purpose of Record the application using PT Tool to create the Scripts.The
scripts will helpful to generate Virtual User Load on the Servers.
Class10:
Recording Process :
Prerequisites:
1. Click on Start Button which is Under the “Https Test Script Recorder”.
2. Open Browser
3. Navigate the Business Flow with Proper Transaction Names.
4. Click on Stop
5. Take Backup the Recording.xml file ( Which available in Jmeter Bin Folder).
6. We have to Remove if any unwanted Requests are available in JMeter
Script.
7. We need to Enable the Generate Parent Sample for every Transaction
Controller.
What is Proxy ?
It is nothing but an Agent and also it establishes the connection between 2 servers.
3. Choose Manual Proxy and provide the Name and Port Number ( As same as
Jmeter Port Number ) and Click on Ok.
In Order to Record the Secure application (HTTPS) we have to add Root CA Certificate
into the browser.
Recording Steps:
https://petstore.octoperf.com/actions/Catalog.action
Class11:
1. Correlation
2. Parameterization
3. Assersations
4. Error Handling ( Optional ).
Correlation:
What ?
As part of Recording the Business Flow we will get the Dynamic Values or Server
Generated Values from the Server those Values we need to be handle Using
Correlation Concept.
We need to record the Business Flow Twice ( 2 Times ) and Compare Manually
each and Every Request.
Why ?
Dynamic Values are very unique User to user and session to Session
How ?
Class12:
/actions/Account.action;jsessionid=B5CE79E968C052EFAA1F010F0B383317
/actions/Account.action;jsessionid=A9EB6119A27855F2D4DD2CDFDB67414C
jsessionid=A9EB6119A27855F2D4DD2CDFDB67414C"><img src
→ LB → | → Dynamic Value → | → RB →
jsessionid=(.*?)"><img src
6. We have to replace the dynamic value with name of Created variable name
Class13:
Class14:
1 → If you keep, Match Num as a 1. It will pick the 1st Match Occurrence Value.
0 → If you keep, Match Num as a 0. It will pick the Random Match Occurrence
Value.
-1 → If you Keep, Match Num as a -1. It will Pick all the Match Occurrence Values.
Note:
If Match Count is 1 → You have to put match no. as a 1 in Regular
Expression Extractor.
If Match Count is more than 1 → You have to put match no. as a 0 or -1 in
the Regular Expression Extractor.
If you want to pass specific occurrence Value we need to put Match no. as
a -1 .
Class15:
In case, If you want pick 2 values using one Regular Expression, Template value
should be $1$$2$ then 1 st value will be store in Group1 ${name of created
variable name_g1} and 2nd value will be store on Group2 ${name of created
variable name_g2}
In case, If you want to pick a specific occurrence value using Regular expression,
Match no. should be -1. 1st occurrence value will be stored ${
Name of created variable_1} | 2nd occurrence value will be stored ${
Name of created variable_2} | 3rd occurrence value will be stored ${
Name of created variable_3}........etc.,
Class16:
Parametrization:
What ?
As part of recording business flow, whatever the values entered via Keyboard
those values we need to do parameterize.
Why ?
How ?
We need to identify what are the Field Values we entered via Keyboard.
1. We need Create New .CSV File or Text File.
2. We need to add Data with proper header names.
3. Go to the Jmeter Script, Right click on the Test plan and add “ csv data
config element “ .
4. We need to browse the Test Data csv file or .txt file from the Csv data set
config element.
5. Replace the Value in the Script with the Variable Header name. ${variable
name}.
Recycle on EOF:
If data can be Reusable you can choose as a “True”.
If data can’t be Reusable you can choose as a “False”
Class17:
Assersations:
What is Assertions?
In Jmeter tool, Some Requests/Samplers may not get the Expected Response but
it is showing as a Pass Status.to overcome this we need to use Assertions.
3. Add the copied Text to the Assersation refer below screen shot for refernce.
Class18:
Note: Some of the Office Laptops or Client Vdi’s we are not able to set up the Proxy due to security
Reasons.
Steps:
1. In Chrome Browser, Take New Tab and Right Click on Select inspect.
Class20:
It is nothing but to add the additional Features to the Jmeter Tool. Which helps the
Performance Testing Implementation of a project.
Why ?
Jmeter Tool has less/Limited features compared to the other competitor PT Tools Like
LoadRunner,Neoload etc.,.
How ?
1. Goto the internet and Search as a “ Plugin manager for Jmeter”.
2. Select the Official Website ( https://jmeter-plugins.org/wiki/PluginsManager/ ).
3. Click on Jar File.
4. Once Downloaded the Jar File. we have to place the Jar file lib -> ext folder
“
D:\JeevaSoftwareTraining\Pt_Training_Feb22_Batch\apache-jmeter-5.4.3\apache-jme
ter-5.4.3\lib\ext
“
5. Restart or open the Jmeter.
What is Plugin ?
Why ?
Plugins will be helpful to implement the Realistic Scenario or to add the additional
Features to the Jmeter tool.
How ?
1. Open the Jmeter tool and Click Plugin manager under the options tab.
2. Click on available Plugins.
3. Select or Search all required plugins and Click on “ Apply Changes and Restart
Jmeter “.
Flipkart:
Example:
Users = 10
TPH = 100 orders
1 user has to make 10 orders
Class21:
Think Time:
What ?
Why ?
Pacing:
What ?
It is nothing but a time delay between the 2 Iterations.
Why ?
It will be helpful to Control the Transactions(TPH).So that Server got some free time or
breathing time to process the Request.
Pacing = ( Target Time - Execution Time per user ) / No. of Iteration per user
Example1:
Execution time per user=No.of iterations per user*Iteration Res Time= 10*60=600 secs
Example2:
Pacing = ( 3600-1000)/100
= 26 secs
Example3:
Pacing = ( 3600-50)/2.5
= 3550/2.5
= 1420 secs.
Example4:
Users = 22 | TPH = 1050 | Iteration Response time = 7 secs
Example5:
Users = 10 | TPH = 1000 | Iteration Response Time = 10 secs | Duration = 30 mins
In above case we need to reduce the Target Transactions Value.
Class22:
Pacing = 35 secs.
Class23:
Consultancy Details:
Documents - 25k
Normal Process:
1.They will create Salary account.
2. For suppose if you want keep 5 Lakhs is the Current CTC, based on this they
will release an offer letter. They will mention Salary Structure.
Every Month ends 30th 0r 31st . you have to send an amount to the consultancy
Team.They will Credit salary to your account 1st to 5th of every month.
Jmeter.bat -n -t -l
Jmeter.bat -n -t ( jmx file path) -l ( .jtl file path /Jmeter Results Path )
jmeter.bat -n -t
D:\JeevaSoftwareTraining\Pt_Training_Feb22_Batch\Purchase_Order.jmx -l
D:\JeevaSoftwareTraining\Pt_Training_Feb22_Batch\Results\NonGUIMODE\LoadTEST
_24032022.jtl
NON GUI Mode Execution is preferable in case of Huge Concurrent Users. Why because
in NON GUI Mode Execution doesn’t requires any listeners due to that it will consume
the less memory or storage.
Task:
Class24:
1,2,3,4,5,6,7,8,9,10
We called Launch url Transaction 100 Times out of 90 times got succeed and 10 times
got errors. What is the Error % ?
Error % = 10
Class25:
Overview about Developer Tool.
Class26:
Revision Class:
LoadTest → 1 Hour
Stress Test → 2X / 3X /4X / 5X →Cloud Servers like AWS / Azure / Aquia cloud etc.,
Stress Test → No time —> Physical Servers/on premises servers.
Class27:
1. We need to set up a meeting with the Project team. Test manager | Architect |
Test Lead | QA Lead.
2. Could you please provide a PT Scope of an Application/Project.
3. Gather the NFR Details of an application from the Product Owner.
4. Based on NFR Details we has to prepare Test Plan.
5. Scripting and Scenario Design.
6. Scenario Execution.
7. Prepare the PT report.
8. Analyse the PT Report and Provide Observations/Recommendations for the
Performance issues.
Class28:
Pending Items
Correlation issue in Loadrunner Tips.
Installation Process:
Example:
Phonepe :
Phonepe purely worked on UPI Network. UPI will maintain all bank Accounts of a User.
Example:
Jeeva → Vijay
Example:
If we click on Any Product Category like a television in Flipkart, Flipkart Web Server
will Invoke Respective APi’s and Respective API’s will invoke Respective Queries.
Queries will fetch the data from the database and give it to the API and Api will display
the data in a Web Server.
2. They might Share API List details in the form of Json Files.
3. They might share API Repository Location like Swagger/GIT etc.,.
Class29:
https://petstore.swagger.io/
Api Testing in Jmeter Tool. ?
https://petstore.swagger.io/v2/user
Error Codes:
Vugen ( Virtual User Generator ) → It is used to create the PT Scripts and Customise
the PT Scripts ( Recording and Debugging ).It will support Single User only.
Controller → It is used for Scenario design and scenario Execution.
Analysis → It is used to analyse the PT Results and to generate Custom PT reports.
Agent Process → It will help to establish the connections between Controller and Load
Generator.
Load Generator → It will be helpful to generate the Virtual User Load.
LR Installation Process :
Kindly Download LR Tool Zip file from Google Drive and Follow the steps which are in
the Loadrunner installation process document.
Minimum Prerequisites:
Class02:
Loadrunner:
1. It is a commercial tool.
2. It is a both proxy and non proxy based recording tool.
3. It has a 3 Components ( Vugen | Controller | Analyzer ).
4. It supports 80+ Protocols.
5. LR will generate Customised PT Report.
6. PT Scripting and Debugging is easy.
7. Automatic Correlation is available.
8. LR Tool is developed using C Language.
Class03:
PreRequistics:
Recording Process:
4. Click on Ok.
5. Click on Start recording
6. We need to provide proper transaction Names and Navigate the business flow.
7. Click on Stop Button.
● For windows Application we need to choose “ Url mode” and Choose option as a
Use “ web_Custom_request only “.
● Some of the web applications, we could not able to generate the Script in HTML
Mode. Those applications we need to try with URL Mode.
● In url mode based script will generate more lines of scripts compared to HTML
Mode.
● In url mode based script is complex to read the Script compared to HTML Mode
How to do Correlation ?
lr_save_string(lr_paramarr_random("C_Category"), "RandCategory");
Class06:
3. Right click on selected Text and Click on “Add Text Check Step”.
Class07:
Automatic Correlation:
Parameterization:
1. Select the Value and Right Click on the Value and Choose Replace With
Parameter.
Parameter Types:
1. File → Most commonly used one
2. Date/Time → with help of this we can pass the Current/Past and Future Date
and Time.
3. Iteration Number → it is useful to pass the Iteration Num in the script
4. Random Number → it is useful to pass the Random Number
5. Unique Number → it is useful to pass the Unique Number
6. VuserID → It is useful to pass the UserID
7. Table → it is useful to use one file for multiple columns data or different set of
data.
Class08:
Parametrization Properties:
Sequential - Each Iteration → Data will pass sequentially on the iteration level. Like
iteration 1 all users taking 1st row data and iteration 2 all users are taking 2nd row data
etc.,
Sequential - Each occurrence → Data will pass sequentially on the occurrence level.
For Example: in my script one of the fields has 2 places/occurrence. 1st iteration users
will pick 1st row data for 1st occurrence and 2nd row data for 2nd occurrence.
Sequential - once → Data will always pass 1st row data for all iterations and all users.
Like iteration 1 all users taking 1st row data and iteration 2 all users are taking 1nd row
data etc.,
Random - Each Iteration → Data will pass randomly for all iterations and all users.
Random - Each occurrence → Data will pass Randomly for all occurrences and all
users.
Random - once → Data will pass randomly for all users and the same data will use all
iterations of a user.
Unique - Each Iteration → Data will pass unique on iterations and all users. If enough
data is not available we can choose Abort User | Continue with Last value | Continue
cyclic manner based on Requirement.
Unique - Each occurrence → Data will pass unique for all occurrences and all users.
Unique - once → Data will pass unique for all users but not iteration level. Same user
data will be used for all iterations.
Class09:
Runtime Settings(RTS):
1. Run Logic
2. Pacing
3. Log
4. Think Time
5. Miscellaneous
6. Browser Emulation
7. Speed Simulation
8. Proxy
9. Preferences
What are the RTS options will you use in the Controller ?
1. Log
2. Pacing
3. Think Time
4. Miscellaneous
5. Proxy
6. Preferences
Class10:
web functions → this functions is useful to handle the customization the LR Script and
also it will helpful to Communicate the Server to each other like Correlation etc.,
Web Functions:
1. Web_url
2. Web_reg_save_param_ex
3. Web_reg_save_param_regex
4. Web_reg_find
5. Web_Submit_data
6. Web_Submit_Form
7. Web_Custom_Request
8. Web_Rest
9. Web_Cleanup_Cookies
10. Web_Cache_Cleanup
11. Web_set_max_html_param_len
12. Web_set_user
LR Functions → These functions are Tool Functions that are useful to Customise the
Script.
LR Functions:
Lr_save_string
Lr_paramerr_Random
Lr_start_transation
Lr_end_transaction
Lr_think_time
Lr_save_timestamp
lr_rendezvous
Controller:
Manual Scenario:
Here we has to Design the scenario like Number of Users | Ramp Time |
Duration | Ramp Down Time etc., Manually.
Here Tool has Design the Scenario Like Numbers of Users | Ramp Time |
Duration | Ramp down Time etc., based on Goal Type.
Percentage Mode → Here we have to provide no. of Vusers for all the Scripts
but based on Percentage.it will allocate Vusers for a script.
Manual Scenario:
Scenario Schedule:
Scenario -> All scripts has a only one Scheduled ( ramp up, duration and ramp down)
Group -> Each script has a own scheduled ( ramp up, duration and ramp down)
Scheduled by Scenario - Real world Schedule -> Multiple Ramp ups, multiple Duration
and Multiple Ramp down
Scheduled by Scenario - Basic Schedule -> Single Ramp up, single Duration and single
Ramp down
Scheduled by Group - Real world Schedule -> Multiple Ramp ups, multiple Duration and
Multiple Ramp down (each script)
Scheduled by Group - Basic Schedule -> Single Ramp up, single Duration and single
Ramp down (each script)
Multiple Scripts:
Pacing:
FIxed pacing: Fixed delay
Pacing = 5 secs
For example: iteration 1 completed then it wait 5 secs and then it will go for Next
Iteration
Interval pacing:
Pacing = 5 secs
Pacing Calculation:
Create order: 10 users, Target transaction : 50 Duration: 5 mins | Iteration Response Time =
7 secs
Load Test:
If More than a 1 script -> you should Choose Scenario Type as a Group and Run mode as
a Real world Schedule or Basic Schedule.
6. Logs
7. Think Time
8. Miscellaneous
9. Preference
Design Tab → It is for Design the Scenario like Load test | Stress | Soak etc.,
Run Tab → It is for to Run the Scenario and Monitor the stats.
Class13:
Users= 20
Iteration Response = 37 sec
Duration = 600 sec
TT = 100
Pacing = 83 sec
Tasks:
Load Test:
Users = 10
Duration = 10 mins
TT = 100
Stress Test:
Users = 20
Duration = 10 mins
TT = 200
Endurance Test:
Users = 10
Duration = 30 mins
TT = 300
Scripts:
Purchase Order
View Order
Purchase Ticket
Purchase Product
Correlation Challenge for moderate
Class14:
https://petstore.swagger.io/
1. Open Vugen
2. Click on New Scripts and Solutions
3. Select Protocol ( web protocol ) and provide the proper script name.
4. Right click inside the Action and select insert → Rest API
5. Provide Api Details Like Url | Method | Parameters | Body | Headers etc.,
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
Class16:
Class17:
What is a Server ?
Application Layers:
1. Presentation layer
2. Business Logic layer
3. DB Layer
1- Tier Architecture
2- Tier Architecture
3- Tier Architecture
N- Tier Architecture
App server → Apache Tomcat, IBM Web Sphere, Jboss, Web logic etc.,
Class18:
Revision Session :
Class19:
Resume Preparation:
Profile Summary:
Naukari:
Class20:
Interview Questions:
1.What is GC ?
2. What are different Stages of Performance Testing ?
3. How do we know which PT Tool will be suitable and types testing will suggest for a
application ?
4. If SLA is not defined by the Client. What is the approach ?
5. Baseline Test usually shows how many users will perform. Single User | 10% | 50% of
User loads.
6. What is your current Project Environment/Architecture ?
7. What is a Performance Centre ?
8. Automated Performance Test ? Jenkins - CI/CD
9. What is the Use of Git ? Git status | Git pull | Git add * | git commit -m” “ | Git push |
Git Status | Git pull
10. Stress Test means ?
Class21:
It is a web based Application, here we can design the scenario and execute the
scenario like Load/Stress/Endurance Test etc.,
1. Since it is a web based application, we can access any where and any machine
to the PC.
2. We can store all PT executions Test Results and Test Scripts here.
3. Easy to maintain Complex environments Projects.
Class22:
Agent Process
Controller —-----------------------> LG
Once you start the test, Controller Files and Scripts will download into Load
Generator. Load Generator will Generate Virtual Users based on Controller
Configuration.In LG, actual execution will happen and also during the test
temporary Results file will be available in Load Generator.Once test completed
based on temporary results file Controller will generate PT Report.
Interview Questions:
1. You started 1 hour Test it went well 30 mins but after 30 mins test got
stopped due to any Reasons. But need 30 mins report and also Results
file is not available in PC/Controller —> we should take the temporary
results file from the Load Generator.
2. You started a 1 hour test and completed 1 hour but we don’t have any
results —> we should take the temporary results file from the Load
Generator.
3. You open the .lrr file Using Analysis component but you didn’t get any
results.what is your approach → we should use “Auto Correlate” option.
Perfmon:
CPU → % Idle CPU Usage | % System CPU Usage | % User CPU Usage
Memory → % Used memory | % AvailableMemory
Disk → Number of bytes read | Number of bytes written
Network → Number of bytes Received | Number of bytes Sent
File Operations:
Working Code:
long fp;
fp = fopen("C:\\Users\\jeeva\\Documents\\OrderDetails.txt","a+");
→ Above 2 lines syntax should be put before the LR Start Transaction
fprintf(fp,"%s\n",lr_eval_string("{C_JSESSIONID}"));
fclose (fp);
VLfXwaBGXqG3gadoii48aQb1UNjYsAoNznLYexPw450d8Jkf_mbrdg0_PwfQaYY18mekpABe3XUFXqp6ZrA
ZX0PKNZeT8FH9nH8SqxZCmtI=
VLfXwaBGXqG3gadoii48aQb1UNjYsAoNznLYexPw450d8Jkf_mbrdg0_PwfQaYY18mekpABe3XUFXqp6ZrA
ZX0PKNZeT8FifH9nH8SqxZCmtI=
VLfXwaBGXqG3gadoii48aQb1UNjYsAoNznLYexPw450d8Jkf_mbrdg0_PwfQaYY18mekpABe3XUFXqp6ZrA
ZX0PKNZeT8FH9nH8SqxZCmtI=
VLfXwaBGXqG3gadoii48aQb1UNjYsAoNznLYexPw450d8Jkf_mbrdg0_PwfQaYY18mekpABe3XUFXqp6ZrA
ZX0PKNZeT8FH9nH8SqxZCmtI=