This page was exported from Valid Premium Exam [ http://premium.validexam.com ] Export date:Mon Feb 24 8:11:02 2025 / +0000 GMT ___________________________________________________ Title: Verified AD0-E716 &As - Provide AD0-E716 with Correct Answers [Q22-Q44] --------------------------------------------------- Verified AD0-E716 Exam Dumps Q&As - Provide AD0-E716 with Correct Answers Pass Your AD0-E716 Dumps Free Latest Adobe Practice Tests Adobe AD0-E716 Exam Syllabus Topics: TopicDetailsTopic 1Demonstrate the ability to use the queuing system Demonstrate understanding of updating cloud variables using CLITopic 2Demonstrate knowledge of Adobe Commerce architectureenvironment workflow Demonstrate understanding of cloud user management and onboarding UITopic 3Demonstrate the ability to extend the database schema Describe how to add and configure fields in store settingsTopic 4Demonstrate the ability to add and customize shipping methods Demonstrate a working knowledge of cloud project files, permission, and structureTopic 5Manipulate EAV attributes and attribute sets programmatically Demonstrate how to effectively use cache in Adobe CommerceTopic 6Demonstrate the ability to import export data from Adobe Commerce Explain how the CRON scheduling system worksTopic 7Demonstrate knowledge of how routes work in Adobe Commerce Describe how to use patches and recurring set ups to modify the databaseTopic 8Explain the use cases for Git patches and the file level modifications in ComposerTopic 9Demonstrate the ability to create new APIs or extend existing APIs Demonstrate the ability to manage Indexes and customize price outputTopic 10Demonstrate the ability to update and create grids and forms Demonstrate the ability to use the configuration layer in Adobe CommerceTopic 11Build, use, and manipulate custom extension attributes Describe the capabilities and constraints of dependency injection   NO.22 An Adobe Commerce developer has installed a module from a third-party vendor. This module fires a custom event named third_party_event_after and also defines an observer named third_party_event_after_observer that listens to that event. The developer wants to listen to this custom event in their own module but wants to execute their observer’s logic after the third_party_event_after_observer observer has finished executing.What would the developer do to ensure their observer runs after the observer defined by the third-party module?  Ensure the third-party module is listed in the <sequence> node of the developer’s module.xmi file.  Set the sort order of the new observer to be less than that of the third-party vendor’s observer.  This is not possible as observers listening to the same event may be invoked in any order. To ensure that the developer’s observer runs after the observer defined by the third-party module, they need to set the sort order of the new observer to be less than that of the third-party vendor’s observer.The sort order is a number that is assigned to each observer. The lower the number, the earlier the observer will be executed.For example, if the third-party vendor’s observer has a sort order of 10, the developer’s observer would need to have a sort order of 9 or lower.NO.23 An Adobe Commerce developer has created a module that adds a product attribute to all product types via a Data Patch-According to best practices, how would the developer ensure this product attribute is removed in the event that the module is uninstalled at a later date?  Add an Uninstall.php file extending l1agentoFrameworkSetupUninstallInterface tO the module’s Setup directory and implement the uninstall method.  Add instructions to the module’s README.md file instructing merchants and developers that they must manually remove this attribute if they want to uninstall the module.  Make the Data Patch implement MagentoFrameworksetupPatchPatchRevertabieinterface and implement the revert method to remove the product attribute. According to the Develop data and schema patches guide for Magento 2 developers, data patches can also implement PatchRevertabieinterface to provide rollback functionality for their changes. The revert() method contains the instructions to undo the data modifications made by the patch. To ensure that the product attribute is removed when the module is uninstalled, the developer should make the data patch implement PatchRevertabieinterface and implement the revert method to remove the product attribute using EavSetupFactory or AttributeRepositoryInterface. Verified References:https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/data-patches.htmlNO.24 An Adobe Commerce Cloud project is using Enhanced Integration Environments with two install a new payment module.The developer is using Cloud CLI for Commerce tool.What would a developer do to test this new feature under the integration environment?  1. Duplicate one of the integration environment branches.2. Create a new active branch from integration and install the module.3. Push the changes.  1. Create a new branch from integration and install the module.2. Push the changes.3. Branch active status check is not necessary.  1. Deactivate one of the active integration environment branches.2. Create a new active branch from integration and install the module.3. Push the changes. The developer can test the new feature under the integration environment by deactivating one of the active integration environment branches, creating a new active branch from integration and installing the module, and pushing the changes. This is because Enhanced Integration Environments have a limit of four active branches at a time, and each branch has its own dedicated database and services. The developer can use the Cloud CLI for Commerce tool to manage the branches and deploy the code changes. Verified Reference: [Magento 2.4 DevDocs] 1NO.25 When checking the cron logs, an Adobe Commerce developer sees that the following job occurs daily:main.INFO: Cron Dob inventory_cleanup_reservations is successfully finished. However, the inventory_reservation table in the database is not emptied. Why are there records remaining in the inventory_reservation table?  Only reservations matching canceled orders are removed by the cron job.  Only reservations no longer needed are removed by the cron job.  The “Auto Cleanup” feature from Multi Source Inventory was disabled in configuration. The reason why there are records remaining in the inventory_reservation table is that only reservations no longer needed are removed by the cron job. The inventory_reservation table tracks the quantity of each product in each order and creates a reservation for each product when an order is placed, shipped, cancelled or refunded. The initial reservation has a negative quantity value and the subsequent reservations have positive values. When the order is complete, the sum of all reservations for the product is zero. The cron job removes only those reservations that have a zero sum from the table, leaving behind any reservations that are still needed for incomplete orders. Verified References: [Magento 2.4 DevDocs] [Magento Stack Exchange]NO.26 An Adobe Commerce developer is working on a module to manage custom brand entities and wants to replicate the following SQL query using SearchCriteria:       The following SearchCriteria query will replicate the SQL query:$searchCriteria = new MagentoFrameworkApiSearchCriteriaBuilder();$searchCriteria->addFilter(‘name’, ‘Brand 1’, ‘eq’);$searchCriteria->addFilter(‘status’, 1, ‘eq’);$brandCollection = $this->brandRepository->getList($searchCriteria);NO.27 On an Adobe Commerce Cloud platform, in which order does the ECE-Tools package apply patches?  1. All required Magento patches included in the Cloud Patches for Commerce package.2. Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.3. Selected optional Magento patches included in the Quality Patches Tool.  1. All required Magento patches included in the Cloud Patches for Commerce package.2. Selected optional Magento patches included in the Quality Patches Tool.3. Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.  1. Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.2. All required Magento patches included in the Cloud Patches for Commerce package.3. Selected optional Magento patches included in the Quality Patches Tool. The order in which the ECE-Tools package applies patches is as follows:* All required Magento patches included in the Cloud Patches for Commerce package.* Selected optional Magento patches included in the Quality Patches Tool.* Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.The ECE-Tools package is a set of scripts and tools designed to manage and deploy Adobe Commerce Cloud projects. The Cloud Patches for Commerce package is a dependency of ECE-Tools that provides a set of required patches for Magento core issues that affect Adobe Commerce Cloud functionality. The Quality Patches Tool is an optional tool that allows developers to apply individual patches for specific Magento issues without waiting for a full product release. The /m2-hotfixes directory is a directory where developers can place their own custom patches for their Adobe Commerce Cloud projects. Verified References: [Magento 2.4 DevDocs]NO.28 An Adobe Commerce developer is tasked with adding an new export option for the order grid, they have added the following code for the export button within sales_order_grid.xml:Upon testing, they are getting redirected, what would be a cause for this error?  The option’s uri attribute is not valid.  The layout cache needs to be refreshed.  The developer has to add a formkey for the new export option. The developer has to add a formkey for the new export option because the formkey is required for security reasons. Without the formkey, the request will be rejected and redirected to the dashboard page. Verified Reference: [Magento 2.4 User Guide] [Magento 2.4 DevDocs]NO.29 An Adobe Commerce developer has been asked to modify the PageBuilder slider content type to allow a new custom content type (other than slide) to be assigned as a child. The developer has already created the new content type called improved_slide in their module. They now need to create a new view/adminhtml/pagebuilder/content_type/slider. xml file in their module to allow the new content type to be a child of slider content types.What is the correct xml to accomplish this?       The following XML will allow the new content type to be a child of slider content types:<pagebuilder_content_type><type>slider</type><children><type>improved_slide</type></children></pagebuilder_content_type>Use code with caution. https://bard.google.com/faqThis XML will tell Magento that the slider content type can have improved_slide content types as children.NO.30 An Adobe Commerce developer added a new API method to search and retrieve a list of Posts for a custom Blog functionality. This is the content of the module’s etc/webapi.xml file:The new code has been deployed to production and the merchant is using https: //merchant. domain.com/swagger to review the new endpoint, but it is not visible in swagger.What would be a reason for this?  The webapi.xml file should be moved into the etc/webapi_rest/webapi.xml file.  Since the new endpoint is not anonymous, the merchant needs to enter a valid integration token in swagger in order to see the new method.  The greturn annotation is missing in the MyVendorBlogApiPostRepositoryInterf ace class. The reason why the new endpoint is not visible in swagger is that since the new endpoint is not anonymous, the merchant needs to enter a valid integration token in swagger in order to see the new method. The webapi.xml file specifies that the resource for the new endpoint is MyVendor_Blog::post, which means that only authorized users with this permission can access it. To generate an integration token, the merchant needs to create an integration in the admin panel and activate it. Then they can copy the token and paste it in swagger’s authorization field. Verified References: [Magento 2.4 DevDocs] [Magento Stack Exchange]NO.31 An Adobe Commerce developer was asked to provide additional information on a quote. When getting several quotes, the extension attributes are returned, however, when getting a single quote it fails to be returned.What is one reason the extension attributes are missing?  The developer neglected to add coiiection=”trueM to their attribute in etc/extension_attributes.xmi file. O ottribute code=”my_attributesM type=”MyVendorMyModuleApiData^AttributeInterface[]M collection=”true” />  The developer neglected to provide a plugin On HagentoQuoteApiCartRepositoryInterface: :get.  The developer neglected to implement an observer on the coiiection_ioad_after event. The extension attributes are missing because the collection=”true” attribute is not set in the etc/extension_attributes.xmi file. This attribute tells Magento that the extension attributes should be returned when the quote is retrieved.To fix this issue, the developer needs to add the collection=”true” attribute to the my_attributes extension attribute.<attribute code=”my_attributes” type=”MyVendorMyModuleApiDataAttributeInterface[]” collection=”true” /> Once the collection=”true” attribute is set, the extension attributes will be returned when the quote is retrieved.NO.32 What are two ways to access the PHP error logs on Adobe Commerce Cloud? (Choose Two.)  Use the dedicated command from Cloud CLI for Commerce.  Navigate to the dedicated entry in the Project Web Interface.  Connect to the the servers via SSH and localize the log files.  Use the Adobe Admin Log application. Two ways to access the PHP error logs on Adobe Commerce Cloud are to use the dedicated command from Cloud CLI for Commerce and to connect to the servers via SSH and localize the log files. The Cloud CLI for Commerce is a command-line tool that allows developers to interact with their Adobe Commerce Cloud projects and environments. The developer can use the command magento-cloud log php to view or download the PHP error logs from any environment. Alternatively, the developer can connect to the servers via SSH and navigate to the var/log directory where the PHP error logs are stored. Verified References: [Magento 2.4 DevDocs] 3NO.33 On an Adobe Commerce Cloud platform, what type of environment will be provisioned when launching the CLI for Commerce command magento-cloud environment:branch <environment-name> <parent-environment-id>?  An empty integration environment without any code or database.  An integration environment with fresh Adobe Commerce Cloud installation.  An integration environment with the code and database from the parent environment. The type of environment that will be provisioned when launching the CLI for Commerce command magento-cloud environment:branch <environment-name> <parent-environment-id> is an integration environment with the code and database from the parent environment. Integration environments are temporary environments that are used for testing and development purposes on the Adobe Commerce Cloud platform. They can be created from any branch of code and have their own dedicated database and services. When creating an integration environment using the CLI for Commerce command, the code and database from the parent environment are copied to the new integration environment, creating an exact replica of the parent environment. Verified Reference: [Magento 2.4 DevDocs]NO.34 An Adobe Commerce developer is tasked with adding custom data to orders fetched from the API. While keeping best practices in mind, how would the developer achieve this?  Create an extension attribute on NagentosalesApiE)ataorderinterface and an after plugin on MagentoSalesModelOrder: :getExtensionAttributes() to add the custom data.  Create an extension attribute On MagentoSalesApiDataOrderInterface and an after plugin On MagentoSalesApiOrderRepositoryInterface On geto and getListo to add the custom data.  Create a before plugin on MagentosalesmodelResourceModelordercollection: :load and alter the query to fetch the additional data. Data will then be automatically added to the items fetched from the API. The developer should create an extension attribute on the MagentoSalesApiDataOrderInterface interface and an after plugin on the MagentoSalesApiOrderRepositoryInterface::get() and MagentoSalesApiOrderRepositoryInterface::getList() methods.The extension attribute will store the custom data. The after plugin will be used to add the custom data to the order object when it is fetched from the API.Here is the code for the extension attribute and after plugin:PHPnamespace MyVendorMyModuleApiData;interface OrderExtensionInterface extends MagentoSalesApiDataOrderInterface{/*** Get custom data.* * @return string|null*/public function getCustomData();/*** Set custom data.* * @param string $customData* @return $this*/public function setCustomData($customData);}namespace MyVendorMyModuleModel;class OrderRepository extends MagentoSalesApiOrderRepositoryInterface{/*** After get order.* * @param MagentoSalesApiOrderRepositoryInterface $subject* @param MagentoSalesApiDataOrderInterface $order* @return MagentoSalesApiDataOrderInterface*/public function afterGetOrder($subject, $order){if ($order instanceof OrderExtensionInterface) {$order->setCustomData(‘This is custom data’);}return $order;}/*** After get list.* * @param MagentoSalesApiOrderRepositoryInterface $subject* @param MagentoSalesApiDataOrderInterface[] $orders* @return MagentoSalesApiDataOrderInterface[]*/public function afterGetList($subject, $orders){foreach ($orders as $order) {if ($order instanceof OrderExtensionInterface) {$order->setCustomData(‘This is custom data’);}}return $orders;}}Once the extension attribute and after plugin are created, the custom data will be added to orders fetched from the API.NO.35 An Adobe Commerce developer wants to generate a list of products using ProductRepositorylnterf ace and search for products using a supplier_id filter for data that is stored in a standalone table (i.e., not in an EAV attribute).Keeping maintainability in mind, how can the developer add the supplier ID to the search?  Write a before plugin on HagentocatalogVtodelProductRepository: :geti_ist() and register the search criteria passed. Write an event observer to 0 listen for the event cataiog_product_coiiection_ioad_before. Iterate through the registered search criteria, and if found, apply the needed join and filter to the events scollection.  Add a CUStOm filter to the Virtual type “agentoCatalogModelApiSearchCriteriaCollectionProcessorProductFilterProce5sor for supplier_id field. In the custom filter, apply the needed join and filter to the passed $collection.  Write a before plugin On MagentoFrameworkApiSearchCriteriaCollectionProcessorInterface: :process(). Iterate through the $searchCriteria provided for supplier_id, and if found, apply the needed join and filter to the passed scollection. The developer can add a custom filter to the virtual type MagentoCatalogModelApiSearchCriteriaCollectionProcessorProductFilterProce5sor for supplier_id field. In the custom filter, the developer can apply the needed join and filter to the passed $collection. This is the recommended way to extend the search criteria for products using dependency injection and plugins. Verified Reference: [Magento 2.4 DevDocs] [Magento Stack Exchange]NO.36 When researching some issues with the indexer, an Adobe Commerce developer is seeing errors in the logs similar to Memory size allocated for the temporary table is more than 20% of innodb_buffer_pool_size. It is suggested that the client update innodb_buf f er_pool_size or decrease the batch size value.Why does decreasing the batch size value improve performance?  This decreases memory usage for the temporary table.  This allows for a longer timeout per batch process.  This allows for more PHP threads to be utilized during the process. Decreasing the batch size value improves performance by reducing the memory usage for the temporary table.The batch size value determines how many rows of data are processed at a time by the indexer. A large batch size value can cause the allocated memory size for the temporary table to exceed 20% of innodb_buffer_pool_size, which can result in errors and slow down the indexing process. By lowering the batch size value, the indexer can process the data more efficiently and avoid memory issues. Verified References: [Magento 2.4 DevDocs] [Magento Stack Exchange]NO.37 An Adobe Commerce developer wants to create a product EAV attribute programmatically which should appear as WYSIWYG in the admin panel. They have made sure that wysiwyg_enabled has been set to true, however, the attribute is not appearing as WYSIWYG in the admin panel.What would be a possible reason?  The is_html_allowed_on_front Option iS Set tO false.  The input type is not set to text.  The input type is not set to textarea. The input_type attribute of a product EAV attribute specifies the type of input field that will be used to enter the value of the attribute in the admin panel. The textarea input type is used for WYSIWYG fields. If the input_type attribute is not set to textarea, then the attribute will not appear as WYSIWYG in the admin panel.To fix this, the developer should set the input_type attribute to textarea.NO.38 An Adobe Commerce developer is tasked to add a file field to a custom form in the administration panel, the field must accept only .PDF files with size less or equal than 2 MB. So far the developer has added the following code within the form component xml file, inside the fieldset node:How would the developer implement the validations?A)Add the Validations Within the HyVendorMyModuleControllerAdminhtmlCustomEntityUploadPdf ControllerB)Add a virtual type forMyvendorMyModuieModeicustomPdfupioader specifying the aiiowedExtensions and the maxFiiesize for the constructor, within the module’s di.xmi:C)Add the following code inside the<settings> node:  Option A  Option B  Option C The developer can add a virtual type for MyvendorMyModuieModeicustomPdfupioader specifying the aiiowedExtensions and the maxFiiesize for the constructor, within the module’s di.xmi. This way, the developer can reuse the existing file uploader class and customize it for the specific field without modifying the core code. Verified Reference: [Magento 2.4 DevDocs] [Magento Stack Exchange]NO.39 On an Adobe Commerce Cloud platform, in which order does the ECE-Tools package apply patches?  1. All required Magento patches included in the Cloud Patches for Commerce package.2. Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.3. Selected optional Magento patches included in the Quality Patches Tool.  1. All required Magento patches included in the Cloud Patches for Commerce package.2. Selected optional Magento patches included in the Quality Patches Tool.3. Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.  1. Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.2. All required Magento patches included in the Cloud Patches for Commerce package.3. Selected optional Magento patches included in the Quality Patches Tool. The order in which the ECE-Tools package applies patches is as follows:All required Magento patches included in the Cloud Patches for Commerce package.Selected optional Magento patches included in the Quality Patches Tool.Custom patches in the /m2-hotfixes directory in alphabetical order by patch name.The ECE-Tools package is a set of scripts and tools designed to manage and deploy Adobe Commerce Cloud projects. The Cloud Patches for Commerce package is a dependency of ECE-Tools that provides a set of required patches for Magento core issues that affect Adobe Commerce Cloud functionality. The Quality Patches Tool is an optional tool that allows developers to apply individual patches for specific Magento issues without waiting for a full product release. The /m2-hotfixes directory is a directory where developers can place their own custom patches for their Adobe Commerce Cloud projects. Verified Reference: [Magento 2.4 DevDocs]NO.40 An Adobe Commerce Developer is tasked with creating a custom form which submits its data to a frontend controller They have decided to create an action and have implemented the MagentoFrameworkAppActionHttpPostActioninterface class, but are not seeing the data being persisted in the database, and an error message is being shown on the frontend after submission.After debugging and ensuring that the data persistence logic is correct, what may be cause and solution to this?  Magento does not allow POST requests to a frontend controller, therefore, the submission functionality will need to be rewritten as an API endpoint.  The developer forgot to implement a validatePostDataQ method in their action. They should implement this method: all non-validated POST data gets stripped out of the request and an error is thrown.  Form key validation runs on all non-AJAX POST requests, the developer needs to add the for_key to their requests. According to the Magento Stack Exchange answer, form key validation is a security feature that prevents CSRF attacks by checking if the form key in the request matches the one generated by Magento. If the developer does not include the form_key in their custom form, the validation will fail and an error will be shown. Therefore, the developer needs to add the form_key to their requests by using <?= $block->getBlockHtml (‘formkey’) ?> in their template file. Verified Reference: https://magento.stackexchange.com/questions/95171/magento-2-form-validationNO.41 An Adobe Commerce developer is creating a module (Vendor.ModuleName) to be sold on the Marketplace.The new module creates a database table using declarative schema and now the developer needs to make sure the table is removed when the module is disabled.What must the developer do to accomplish this?  There is nothing further the developer needs to do. The table will be removed when the module is disabled and bin/magento setup:upgrade is run.  There is nothing further the developer needs to do. The table will be removed when the when bin/magento module:uninstall vendor_ModuleName is run.  Add a schema patch that implements MagentoFrameworksetupPatchPatchRevertabieinterface and drops the table in the revert function. According to the Declarative Schema Overview guide for Magento 2 developers, declarative schema is a new feature that allows developers to declare the final desired state of the database and has the system adjust to it automatically, without performing redundant operations. However, declarative schema does not support uninstalling modules or reverting changes. To remove a table when a module is disabled, the developer needs to add a schema patch that implements MagentoFrameworksetupPatchPatchRevertabieinterface and drops the table in the revert function. The revert function will be executed when the module is disabled using bin/magento module:disable command. Verified References:https://devdocs.magento.com/guides/v2.3/extension-dev-guide/declarative-schema/NO.42 An Adobe Commerce developer is being tasked with creating a new cron job to run a method that has already been written. What are the minimally required steps to accomplish this?  Create a crontab.xmi file and a new system configuration in system.xmi for the schedule.  Create crontab.xmi and cron_groups.xmi files to assign the new job to a cron group.  Create a crontab.xmi file and set a schedule for the new cron job. According to the Configure and run cron guide for Magento 2 developers, the crontab.xmi file is used to declare and configure cron jobs for a module. The file should specify the name, instance, method and schedule of the cron job. Therefore, creating a crontab.xmi file and setting a schedule for the new cron job are the minimally required steps to accomplish this task. Verified Reference: https://devdocs.magento.com/guides/v2.3/config-guide/cli/config-cli-subcommands-cron.htmlNO.43 An Adobe Commerce developer is about to deploy a critical feature to their Adobe Commerce Cloud (Pro Plan) production. They want to create a snapshot in order to be able to rollback if there is an issue with the feature.How would they create the snapshot?  Use the dedicated button on Project Web Interface.  Use the Cloud CLI for Commerce dedicated command.  Create a ticket to Adobe Commerce Cloud support. The developer can create a snapshot before deploying a critical feature to their Adobe Commerce Cloud (Pro Plan) production by using the dedicated button on Project Web Interface. A snapshot is a backup of an entire environment, including code, data, media files, and configuration settings. A snapshot can be used to restore an environment to a previous state in case of any issues or errors during deployment or testing. The developer can create a snapshot by accessing the Project Web Interface, choosing an environment, and clicking Create Snapshot. Verified References: [Magento 2.4 DevDocs]NO.44 An Adobe Commerce developer is creating a new console command to perform a complex task with a lot of potential terminal output. If an error occurs, they want to provide a message that has higher visibility than some of the other content that may be appearing, so they want to ensure it is highlighted in red (as seen in the screenshot):How can they customize the appearance of this message?  Call the setDecorationType(Stype) method On the SymfonyConsoleOutputOutputInterface Object before Calling writeln().  Wrap the output content in tags like <error>, <info>, or <comment>.  Throw a new commandException with the desired message passed as an argument. The developer can customize the appearance of the error message by calling the setDecorationType() method on the SymfonyConsoleOutputOutputInterface object before calling writeln(). The setDecorationType() method takes a single argument, which is the type of decoration that the developer wants to use. In this case, the developer wants to use the STYPE_ERROR decoration, which will highlight the message in red.Here is an example of how to customize the appearance of the error message:$output = new SymfonyConsoleOutputConsoleOutput();$output->setDecorationType(SymfonyConsoleOutputOutputInterface::STYPE_ERROR);$output->writeln(‘This is an error message.’);The output of this code will be an error message that is highlighted in red. Loading … Get Top-Rated Adobe AD0-E716 Exam Dumps Now: https://www.validexam.com/AD0-E716-latest-dumps.html --------------------------------------------------- Images: https://premium.validexam.com/wp-content/plugins/watu/loading.gif https://premium.validexam.com/wp-content/plugins/watu/loading.gif --------------------------------------------------- --------------------------------------------------- Post date: 2024-11-18 11:58:36 Post date GMT: 2024-11-18 11:58:36 Post modified date: 2024-11-18 11:58:36 Post modified date GMT: 2024-11-18 11:58:36