gitextract_6pkohrst/ ├── .all-contributorsrc ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── enhancement_request.yml │ ├── pr-branch-labeler.yml │ ├── pr-glob-labeler.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── documentation.yml │ ├── milestone_assign.yml │ ├── milestone_create.yml │ ├── miletone_release_trigger.yml │ ├── nightly_merge.yml │ ├── pr_labels.yml │ ├── prerelease.yml │ ├── project_task_statuses.yml │ ├── test_build.yml │ └── update_bug_report.yml ├── .gitignore ├── .gitmodules ├── .hound.yml ├── .prettierrc ├── ARCHITECTURE.md ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── Dockerfile.centos7 ├── Dockerfile.debian ├── HISTORY.md ├── LICENSE ├── README.md ├── app_launcher.py ├── conftest.py ├── docs/ │ ├── Makefile │ ├── README.md │ ├── make.bat │ └── source/ │ ├── _static/ │ │ └── README.md │ ├── _templates/ │ │ └── autoapi/ │ │ ├── index.rst │ │ └── python/ │ │ ├── attribute.rst │ │ ├── class.rst │ │ ├── data.rst │ │ ├── exception.rst │ │ ├── function.rst │ │ ├── method.rst │ │ ├── module.rst │ │ ├── package.rst │ │ └── property.rst │ ├── conf.py │ ├── index.rst │ └── readme.rst ├── igniter/ │ ├── Poppins/ │ │ └── OFL.txt │ ├── __init__.py │ ├── __main__.py │ ├── bootstrap_repos.py │ ├── install_dialog.py │ ├── install_thread.py │ ├── message_dialog.py │ ├── nice_progress_bar.py │ ├── openpype.icns │ ├── splash.txt │ ├── stylesheet.css │ ├── terminal_splash.py │ ├── tools.py │ ├── update_thread.py │ ├── update_window.py │ ├── user_settings.py │ └── version.py ├── inno_setup.iss ├── openpype/ │ ├── __init__.py │ ├── __main__.py │ ├── addons/ │ │ └── README.md │ ├── cli.py │ ├── client/ │ │ ├── __init__.py │ │ ├── entities.py │ │ ├── entity_links.py │ │ ├── mongo/ │ │ │ ├── __init__.py │ │ │ ├── entities.py │ │ │ ├── entity_links.py │ │ │ ├── mongo.py │ │ │ └── operations.py │ │ ├── notes.md │ │ ├── operations.py │ │ ├── operations_base.py │ │ └── server/ │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── conversion_utils.py │ │ ├── entities.py │ │ ├── entity_links.py │ │ ├── openpype_comp.py │ │ ├── operations.py │ │ ├── thumbnails.py │ │ └── utils.py │ ├── hooks/ │ │ ├── pre_add_last_workfile_arg.py │ │ ├── pre_copy_template_workfile.py │ │ ├── pre_create_extra_workdir_folders.py │ │ ├── pre_global_host_data.py │ │ ├── pre_mac_launch.py │ │ ├── pre_new_console_apps.py │ │ ├── pre_non_python_host_launch.py │ │ └── pre_ocio_hook.py │ ├── host/ │ │ ├── __init__.py │ │ ├── dirmap.py │ │ ├── host.py │ │ └── interfaces.py │ ├── hosts/ │ │ ├── __init__.py │ │ ├── aftereffects/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── extension/ │ │ │ │ │ ├── .debug │ │ │ │ │ ├── CSXS/ │ │ │ │ │ │ └── manifest.xml │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── boilerplate.css │ │ │ │ │ │ └── styles.css │ │ │ │ │ ├── index.html │ │ │ │ │ ├── js/ │ │ │ │ │ │ ├── libs/ │ │ │ │ │ │ │ ├── CSInterface.js │ │ │ │ │ │ │ ├── json.js │ │ │ │ │ │ │ └── wsrpc.js │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── themeManager.js │ │ │ │ │ └── jsx/ │ │ │ │ │ └── hostscript.jsx │ │ │ │ ├── extension.zxp │ │ │ │ ├── launch_logic.py │ │ │ │ ├── lib.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── workfile_template_builder.py │ │ │ │ └── ws_stub.py │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ ├── create/ │ │ │ │ │ ├── create_render.py │ │ │ │ │ └── workfile_creator.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_background.py │ │ │ │ │ └── load_file.py │ │ │ │ └── publish/ │ │ │ │ ├── add_publish_highlight.py │ │ │ │ ├── closeAE.py │ │ │ │ ├── collect_audio.py │ │ │ │ ├── collect_current_file.py │ │ │ │ ├── collect_extension_version.py │ │ │ │ ├── collect_render.py │ │ │ │ ├── collect_review.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── extract_local_render.py │ │ │ │ ├── extract_save_scene.py │ │ │ │ ├── help/ │ │ │ │ │ ├── validate_footage_items.xml │ │ │ │ │ ├── validate_instance_asset.xml │ │ │ │ │ └── validate_scene_settings.xml │ │ │ │ ├── increment_workfile.py │ │ │ │ ├── pre_collect_render.py │ │ │ │ ├── remove_publish_highlight.py │ │ │ │ ├── validate_footage_items.py │ │ │ │ ├── validate_instance_asset.py │ │ │ │ └── validate_scene_settings.py │ │ │ └── resources/ │ │ │ └── template.aep │ │ ├── blender/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── action.py │ │ │ │ ├── capture.py │ │ │ │ ├── colorspace.py │ │ │ │ ├── lib.py │ │ │ │ ├── ops.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── render_lib.py │ │ │ │ └── workio.py │ │ │ ├── blender_addon/ │ │ │ │ └── startup/ │ │ │ │ └── init.py │ │ │ ├── hooks/ │ │ │ │ ├── pre_add_run_python_script_arg.py │ │ │ │ ├── pre_pyside_install.py │ │ │ │ └── pre_windows_console.py │ │ │ └── plugins/ │ │ │ ├── create/ │ │ │ │ ├── convert_legacy.py │ │ │ │ ├── create_action.py │ │ │ │ ├── create_animation.py │ │ │ │ ├── create_blendScene.py │ │ │ │ ├── create_camera.py │ │ │ │ ├── create_layout.py │ │ │ │ ├── create_model.py │ │ │ │ ├── create_pointcache.py │ │ │ │ ├── create_render.py │ │ │ │ ├── create_review.py │ │ │ │ ├── create_rig.py │ │ │ │ └── create_workfile.py │ │ │ ├── load/ │ │ │ │ ├── import_workfile.py │ │ │ │ ├── load_abc.py │ │ │ │ ├── load_action.py │ │ │ │ ├── load_animation.py │ │ │ │ ├── load_audio.py │ │ │ │ ├── load_blend.py │ │ │ │ ├── load_blendscene.py │ │ │ │ ├── load_camera_abc.py │ │ │ │ ├── load_camera_fbx.py │ │ │ │ ├── load_fbx.py │ │ │ │ ├── load_layout_json.py │ │ │ │ └── load_look.py │ │ │ └── publish/ │ │ │ ├── collect_current_file.py │ │ │ ├── collect_instance.py │ │ │ ├── collect_render.py │ │ │ ├── collect_review.py │ │ │ ├── collect_workfile.py │ │ │ ├── extract_abc.py │ │ │ ├── extract_abc_animation.py │ │ │ ├── extract_blend.py │ │ │ ├── extract_blend_animation.py │ │ │ ├── extract_camera_abc.py │ │ │ ├── extract_camera_fbx.py │ │ │ ├── extract_fbx.py │ │ │ ├── extract_fbx_animation.py │ │ │ ├── extract_layout.py │ │ │ ├── extract_playblast.py │ │ │ ├── extract_thumbnail.py │ │ │ ├── increment_workfile_version.py │ │ │ ├── integrate_animation.py │ │ │ ├── validate_camera_zero_keyframe.py │ │ │ ├── validate_deadline_publish.py │ │ │ ├── validate_file_saved.py │ │ │ ├── validate_instance_empty.py │ │ │ ├── validate_mesh_has_uv.py │ │ │ ├── validate_mesh_no_negative_scale.py │ │ │ ├── validate_no_colons_in_name.py │ │ │ ├── validate_object_mode.py │ │ │ ├── validate_render_camera_is_set.py │ │ │ └── validate_transform_zero.py │ │ ├── celaction/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── hooks/ │ │ │ │ └── pre_celaction_setup.py │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_celaction_cli_kwargs.py │ │ │ │ ├── collect_celaction_instances.py │ │ │ │ ├── collect_render_path.py │ │ │ │ └── integrate_version_up.py │ │ │ ├── resources/ │ │ │ │ └── celaction_template_scene.scn │ │ │ └── scripts/ │ │ │ ├── __init__.py │ │ │ └── publish_cli.py │ │ ├── equalizer/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── host.py │ │ │ │ ├── pipeline.py │ │ │ │ └── plugin.py │ │ │ ├── hooks/ │ │ │ │ └── pre_pyside2_install.py │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ ├── create/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── create_lens_distortion_data.py │ │ │ │ │ └── create_matchmove.py │ │ │ │ ├── load/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── load_plate.py │ │ │ │ └── publish/ │ │ │ │ ├── __init__.py │ │ │ │ ├── collect_3de_installation_dir.py │ │ │ │ ├── collect_camera_data.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── extract_lens_distortion_nuke.py │ │ │ │ ├── extract_matchmove_script_maya.py │ │ │ │ ├── extract_matchmove_script_nuke.py │ │ │ │ ├── validate_camera_pointgroup.py │ │ │ │ └── validate_instance_camera_data.py │ │ │ ├── startup/ │ │ │ │ ├── ayon_create.py │ │ │ │ ├── ayon_load.py │ │ │ │ ├── ayon_manage.py │ │ │ │ ├── ayon_publish.py │ │ │ │ └── ayon_workfile.py │ │ │ └── tests/ │ │ │ └── test_plugin.py │ │ ├── flame/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── batch_utils.py │ │ │ │ ├── constants.py │ │ │ │ ├── lib.py │ │ │ │ ├── menu.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── render_utils.py │ │ │ │ ├── scripts/ │ │ │ │ │ └── wiretap_com.py │ │ │ │ ├── utils.py │ │ │ │ └── workio.py │ │ │ ├── hooks/ │ │ │ │ └── pre_flame_setup.py │ │ │ ├── otio/ │ │ │ │ ├── __init__.py │ │ │ │ ├── flame_export.py │ │ │ │ └── utils.py │ │ │ ├── plugins/ │ │ │ │ ├── create/ │ │ │ │ │ └── create_shot_clip.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_clip.py │ │ │ │ │ └── load_clip_batch.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_test_selection.py │ │ │ │ ├── collect_timeline_instances.py │ │ │ │ ├── collect_timeline_otio.py │ │ │ │ ├── extract_otio_file.py │ │ │ │ ├── extract_subset_resources.py │ │ │ │ └── integrate_batch_group.py │ │ │ └── startup/ │ │ │ ├── openpype_babypublisher/ │ │ │ │ ├── export_preset/ │ │ │ │ │ ├── openpype_seg_thumbnails_jpg.xml │ │ │ │ │ └── openpype_seg_video_h264.xml │ │ │ │ ├── modules/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── app_utils.py │ │ │ │ │ ├── ftrack_lib.py │ │ │ │ │ ├── panel_app.py │ │ │ │ │ └── uiwidgets.py │ │ │ │ └── openpype_babypublisher.py │ │ │ └── openpype_in_flame.py │ │ ├── fusion/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── action.py │ │ │ │ ├── lib.py │ │ │ │ ├── menu.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ └── pulse.py │ │ │ ├── deploy/ │ │ │ │ ├── MenuScripts/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── install_pyside2.py │ │ │ │ │ └── launch_menu.py │ │ │ │ ├── ayon/ │ │ │ │ │ ├── Config/ │ │ │ │ │ │ └── menu.fu │ │ │ │ │ └── fusion_shared.prefs │ │ │ │ └── openpype/ │ │ │ │ ├── Config/ │ │ │ │ │ └── menu.fu │ │ │ │ └── fusion_shared.prefs │ │ │ ├── hooks/ │ │ │ │ ├── pre_fusion_profile_hook.py │ │ │ │ ├── pre_fusion_setup.py │ │ │ │ └── pre_pyside_install.py │ │ │ ├── plugins/ │ │ │ │ ├── create/ │ │ │ │ │ ├── create_image_saver.py │ │ │ │ │ ├── create_saver.py │ │ │ │ │ └── create_workfile.py │ │ │ │ ├── inventory/ │ │ │ │ │ ├── select_containers.py │ │ │ │ │ └── set_tool_color.py │ │ │ │ ├── load/ │ │ │ │ │ ├── actions.py │ │ │ │ │ ├── load_alembic.py │ │ │ │ │ ├── load_fbx.py │ │ │ │ │ ├── load_sequence.py │ │ │ │ │ ├── load_usd.py │ │ │ │ │ └── load_workfile.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_comp.py │ │ │ │ ├── collect_comp_frame_range.py │ │ │ │ ├── collect_inputs.py │ │ │ │ ├── collect_instances.py │ │ │ │ ├── collect_render.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── extract_render_local.py │ │ │ │ ├── increment_current_file.py │ │ │ │ ├── save_scene.py │ │ │ │ ├── validate_background_depth.py │ │ │ │ ├── validate_comp_saved.py │ │ │ │ ├── validate_create_folder_checked.py │ │ │ │ ├── validate_expected_frames_existence.py │ │ │ │ ├── validate_filename_has_extension.py │ │ │ │ ├── validate_image_frame.py │ │ │ │ ├── validate_instance_frame_range.py │ │ │ │ ├── validate_saver_has_input.py │ │ │ │ ├── validate_saver_passthrough.py │ │ │ │ ├── validate_saver_resolution.py │ │ │ │ └── validate_unique_subsets.py │ │ │ ├── scripts/ │ │ │ │ ├── __init__.py │ │ │ │ └── duplicate_with_inputs.py │ │ │ └── vendor/ │ │ │ ├── attr/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __init__.pyi │ │ │ │ ├── _cmp.py │ │ │ │ ├── _cmp.pyi │ │ │ │ ├── _compat.py │ │ │ │ ├── _config.py │ │ │ │ ├── _funcs.py │ │ │ │ ├── _make.py │ │ │ │ ├── _next_gen.py │ │ │ │ ├── _version_info.py │ │ │ │ ├── _version_info.pyi │ │ │ │ ├── converters.py │ │ │ │ ├── converters.pyi │ │ │ │ ├── exceptions.py │ │ │ │ ├── exceptions.pyi │ │ │ │ ├── filters.py │ │ │ │ ├── filters.pyi │ │ │ │ ├── py.typed │ │ │ │ ├── setters.py │ │ │ │ ├── setters.pyi │ │ │ │ ├── validators.py │ │ │ │ └── validators.pyi │ │ │ └── urllib3/ │ │ │ ├── __init__.py │ │ │ ├── _collections.py │ │ │ ├── _version.py │ │ │ ├── connection.py │ │ │ ├── connectionpool.py │ │ │ ├── contrib/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _appengine_environ.py │ │ │ │ ├── _securetransport/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── bindings.py │ │ │ │ │ └── low_level.py │ │ │ │ ├── appengine.py │ │ │ │ ├── ntlmpool.py │ │ │ │ ├── pyopenssl.py │ │ │ │ ├── securetransport.py │ │ │ │ └── socks.py │ │ │ ├── exceptions.py │ │ │ ├── fields.py │ │ │ ├── filepost.py │ │ │ ├── packages/ │ │ │ │ ├── __init__.py │ │ │ │ ├── backports/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── makefile.py │ │ │ │ ├── six.py │ │ │ │ └── ssl_match_hostname/ │ │ │ │ ├── __init__.py │ │ │ │ └── _implementation.py │ │ │ ├── poolmanager.py │ │ │ ├── request.py │ │ │ ├── response.py │ │ │ └── util/ │ │ │ ├── __init__.py │ │ │ ├── connection.py │ │ │ ├── proxy.py │ │ │ ├── queue.py │ │ │ ├── request.py │ │ │ ├── response.py │ │ │ ├── retry.py │ │ │ ├── ssl_.py │ │ │ ├── ssltransport.py │ │ │ ├── timeout.py │ │ │ ├── url.py │ │ │ └── wait.py │ │ ├── harmony/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── README.md │ │ │ │ ├── TB_sceneOpened.js │ │ │ │ ├── __init__.py │ │ │ │ ├── js/ │ │ │ │ │ ├── .eslintrc.json │ │ │ │ │ └── AvalonHarmony.js │ │ │ │ ├── lib.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── server.py │ │ │ │ └── workio.py │ │ │ ├── js/ │ │ │ │ ├── .eslintrc.json │ │ │ │ ├── PypeHarmony.js │ │ │ │ ├── README.md │ │ │ │ ├── creators/ │ │ │ │ │ └── CreateRender.js │ │ │ │ ├── loaders/ │ │ │ │ │ ├── ImageSequenceLoader.js │ │ │ │ │ └── TemplateLoader.js │ │ │ │ └── publish/ │ │ │ │ ├── CollectCurrentFile.js │ │ │ │ ├── CollectFarmRender.js │ │ │ │ ├── CollectPalettes.js │ │ │ │ ├── ExtractPalette.js │ │ │ │ └── ExtractTemplate.js │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ ├── create/ │ │ │ │ │ ├── create_farm_render.py │ │ │ │ │ ├── create_render.py │ │ │ │ │ └── create_template.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_audio.py │ │ │ │ │ ├── load_background.py │ │ │ │ │ ├── load_imagesequence.py │ │ │ │ │ ├── load_palette.py │ │ │ │ │ ├── load_template.py │ │ │ │ │ └── load_template_workfile.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_audio.py │ │ │ │ ├── collect_current_file.py │ │ │ │ ├── collect_farm_render.py │ │ │ │ ├── collect_instances.py │ │ │ │ ├── collect_palettes.py │ │ │ │ ├── collect_scene.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── extract_palette.py │ │ │ │ ├── extract_render.py │ │ │ │ ├── extract_save_scene.py │ │ │ │ ├── extract_template.py │ │ │ │ ├── extract_workfile.py │ │ │ │ ├── help/ │ │ │ │ │ ├── validate_audio.xml │ │ │ │ │ ├── validate_instances.xml │ │ │ │ │ └── validate_scene_settings.xml │ │ │ │ ├── increment_workfile.py │ │ │ │ ├── validate_audio.py │ │ │ │ ├── validate_instances.py │ │ │ │ └── validate_scene_settings.py │ │ │ └── vendor/ │ │ │ ├── .eslintrc.json │ │ │ └── OpenHarmony/ │ │ │ ├── .gitattributes │ │ │ ├── .gitignore │ │ │ ├── Install.bat │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── build_doc.bat │ │ │ ├── documentation.json │ │ │ ├── install.sh │ │ │ ├── openHarmony/ │ │ │ │ ├── openHarmony_actions.js │ │ │ │ ├── openHarmony_application.js │ │ │ │ ├── openHarmony_attribute.js │ │ │ │ ├── openHarmony_backdrop.js │ │ │ │ ├── openHarmony_color.js │ │ │ │ ├── openHarmony_column.js │ │ │ │ ├── openHarmony_database.js │ │ │ │ ├── openHarmony_dialog.js │ │ │ │ ├── openHarmony_drawing.js │ │ │ │ ├── openHarmony_element.js │ │ │ │ ├── openHarmony_file.js │ │ │ │ ├── openHarmony_frame.js │ │ │ │ ├── openHarmony_list.js │ │ │ │ ├── openHarmony_math.js │ │ │ │ ├── openHarmony_metadata.js │ │ │ │ ├── openHarmony_misc.js │ │ │ │ ├── openHarmony_network.js │ │ │ │ ├── openHarmony_node.js │ │ │ │ ├── openHarmony_nodeAttributes.js │ │ │ │ ├── openHarmony_nodeLink.js │ │ │ │ ├── openHarmony_palette.js │ │ │ │ ├── openHarmony_path.js │ │ │ │ ├── openHarmony_preferencedoc.js │ │ │ │ ├── openHarmony_preferences.js │ │ │ │ ├── openHarmony_scene.js │ │ │ │ ├── openHarmony_threading.js │ │ │ │ ├── openHarmony_timeline.js │ │ │ │ ├── openHarmony_tool.js │ │ │ │ └── openHarmony_toolInstall.ui │ │ │ ├── openHarmony.js │ │ │ ├── openHarmony_install.js │ │ │ ├── openHarmony_tools.js │ │ │ ├── reference/ │ │ │ │ └── Reference_view_currentToolManager().txt │ │ │ ├── tbpackage.json │ │ │ └── tools/ │ │ │ └── OpenHarmony_basic/ │ │ │ ├── INSTALL │ │ │ ├── README │ │ │ ├── openHarmony_anim_tools.js │ │ │ ├── openHarmony_basic_backdropPicker.ui │ │ │ └── openHarmony_rigging_tools.js │ │ ├── hiero/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── constants.py │ │ │ │ ├── events.py │ │ │ │ ├── launchforhiero.py │ │ │ │ ├── lib.py │ │ │ │ ├── menu.py │ │ │ │ ├── otio/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── hiero_export.py │ │ │ │ │ ├── hiero_import.py │ │ │ │ │ └── utils.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── startup/ │ │ │ │ │ ├── HieroPlayer/ │ │ │ │ │ │ └── PlayerPresets.hrox │ │ │ │ │ ├── Icons/ │ │ │ │ │ │ ├── layers.psd │ │ │ │ │ │ ├── resolution.psd │ │ │ │ │ │ ├── retiming.psd │ │ │ │ │ │ └── review.psd │ │ │ │ │ ├── Python/ │ │ │ │ │ │ ├── Startup/ │ │ │ │ │ │ │ ├── SpreadsheetExport.py │ │ │ │ │ │ │ ├── Startup.py │ │ │ │ │ │ │ ├── otioexporter/ │ │ │ │ │ │ │ │ ├── OTIOExportTask.py │ │ │ │ │ │ │ │ ├── OTIOExportUI.py │ │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ │ ├── project_helpers.py │ │ │ │ │ │ │ ├── selection_tracker.py │ │ │ │ │ │ │ └── setFrameRate.py │ │ │ │ │ │ └── StartupUI/ │ │ │ │ │ │ ├── PimpMySpreadsheet.py │ │ │ │ │ │ ├── Purge.py │ │ │ │ │ │ ├── nukeStyleKeyboardShortcuts.py │ │ │ │ │ │ ├── otioimporter/ │ │ │ │ │ │ │ ├── OTIOImport.py │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ └── setPosterFrame.py │ │ │ │ │ └── TaskPresets/ │ │ │ │ │ ├── 10.5/ │ │ │ │ │ │ └── Processors/ │ │ │ │ │ │ └── hiero.exporters.FnShotProcessor.ShotProcessor/ │ │ │ │ │ │ └── pipeline.xml │ │ │ │ │ ├── 11.1/ │ │ │ │ │ │ └── Processors/ │ │ │ │ │ │ └── hiero.exporters.FnShotProcessor.ShotProcessor/ │ │ │ │ │ │ └── pipeline.xml │ │ │ │ │ └── 11.2/ │ │ │ │ │ └── hiero.exporters.FnShotProcessor.ShotProcessor/ │ │ │ │ │ └── pipeline.xml │ │ │ │ ├── style.css │ │ │ │ ├── tags.py │ │ │ │ └── workio.py │ │ │ ├── plugins/ │ │ │ │ ├── create/ │ │ │ │ │ └── create_shot_clip.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_clip.py │ │ │ │ │ └── load_effects.py │ │ │ │ ├── publish/ │ │ │ │ │ ├── collect_clip_effects.py │ │ │ │ │ ├── collect_frame_tag_instances.py │ │ │ │ │ ├── collect_tag_tasks.py │ │ │ │ │ ├── extract_clip_effects.py │ │ │ │ │ ├── extract_frames.py │ │ │ │ │ ├── extract_thumbnail.py │ │ │ │ │ ├── integrate_version_up_workfile.py │ │ │ │ │ ├── precollect_instances.py │ │ │ │ │ └── precollect_workfile.py │ │ │ │ └── publish_old_workflow/ │ │ │ │ ├── collect_assetbuilds.py │ │ │ │ ├── collect_tag_comments.py │ │ │ │ └── precollect_retime.py │ │ │ └── vendor/ │ │ │ └── google/ │ │ │ └── protobuf/ │ │ │ ├── __init__.py │ │ │ ├── any_pb2.py │ │ │ ├── api_pb2.py │ │ │ ├── compiler/ │ │ │ │ ├── __init__.py │ │ │ │ └── plugin_pb2.py │ │ │ ├── descriptor.py │ │ │ ├── descriptor_database.py │ │ │ ├── descriptor_pb2.py │ │ │ ├── descriptor_pool.py │ │ │ ├── duration_pb2.py │ │ │ ├── empty_pb2.py │ │ │ ├── field_mask_pb2.py │ │ │ ├── internal/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _parameterized.py │ │ │ │ ├── api_implementation.py │ │ │ │ ├── builder.py │ │ │ │ ├── containers.py │ │ │ │ ├── decoder.py │ │ │ │ ├── encoder.py │ │ │ │ ├── enum_type_wrapper.py │ │ │ │ ├── extension_dict.py │ │ │ │ ├── message_listener.py │ │ │ │ ├── message_set_extensions_pb2.py │ │ │ │ ├── missing_enum_values_pb2.py │ │ │ │ ├── more_extensions_dynamic_pb2.py │ │ │ │ ├── more_extensions_pb2.py │ │ │ │ ├── more_messages_pb2.py │ │ │ │ ├── no_package_pb2.py │ │ │ │ ├── python_message.py │ │ │ │ ├── type_checkers.py │ │ │ │ ├── well_known_types.py │ │ │ │ └── wire_format.py │ │ │ ├── json_format.py │ │ │ ├── message.py │ │ │ ├── message_factory.py │ │ │ ├── proto_builder.py │ │ │ ├── pyext/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cpp_message.py │ │ │ │ └── python_pb2.py │ │ │ ├── reflection.py │ │ │ ├── service.py │ │ │ ├── service_reflection.py │ │ │ ├── source_context_pb2.py │ │ │ ├── struct_pb2.py │ │ │ ├── symbol_database.py │ │ │ ├── text_encoding.py │ │ │ ├── text_format.py │ │ │ ├── timestamp_pb2.py │ │ │ ├── type_pb2.py │ │ │ ├── util/ │ │ │ │ ├── __init__.py │ │ │ │ ├── json_format_pb2.py │ │ │ │ └── json_format_proto3_pb2.py │ │ │ └── wrappers_pb2.py │ │ ├── houdini/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── action.py │ │ │ │ ├── colorspace.py │ │ │ │ ├── creator_node_shelves.py │ │ │ │ ├── lib.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── shelves.py │ │ │ │ └── usd.py │ │ │ ├── hooks/ │ │ │ │ └── set_paths.py │ │ │ ├── plugins/ │ │ │ │ ├── create/ │ │ │ │ │ ├── convert_legacy.py │ │ │ │ │ ├── create_alembic_camera.py │ │ │ │ │ ├── create_arnold_ass.py │ │ │ │ │ ├── create_arnold_rop.py │ │ │ │ │ ├── create_bgeo.py │ │ │ │ │ ├── create_composite.py │ │ │ │ │ ├── create_hda.py │ │ │ │ │ ├── create_karma_rop.py │ │ │ │ │ ├── create_mantra_ifd.py │ │ │ │ │ ├── create_mantra_rop.py │ │ │ │ │ ├── create_pointcache.py │ │ │ │ │ ├── create_redshift_proxy.py │ │ │ │ │ ├── create_redshift_rop.py │ │ │ │ │ ├── create_review.py │ │ │ │ │ ├── create_staticmesh.py │ │ │ │ │ ├── create_usd.py │ │ │ │ │ ├── create_usdrender.py │ │ │ │ │ ├── create_vbd_cache.py │ │ │ │ │ ├── create_vray_rop.py │ │ │ │ │ └── create_workfile.py │ │ │ │ ├── inventory/ │ │ │ │ │ └── set_camera_resolution.py │ │ │ │ ├── load/ │ │ │ │ │ ├── actions.py │ │ │ │ │ ├── load_alembic.py │ │ │ │ │ ├── load_alembic_archive.py │ │ │ │ │ ├── load_ass.py │ │ │ │ │ ├── load_bgeo.py │ │ │ │ │ ├── load_camera.py │ │ │ │ │ ├── load_fbx.py │ │ │ │ │ ├── load_hda.py │ │ │ │ │ ├── load_image.py │ │ │ │ │ ├── load_redshift_proxy.py │ │ │ │ │ ├── load_usd_layer.py │ │ │ │ │ ├── load_usd_reference.py │ │ │ │ │ ├── load_vdb.py │ │ │ │ │ └── show_usdview.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_active_state.py │ │ │ │ ├── collect_arnold_rop.py │ │ │ │ ├── collect_asset_handles.py │ │ │ │ ├── collect_cache_farm.py │ │ │ │ ├── collect_chunk_size.py │ │ │ │ ├── collect_current_file.py │ │ │ │ ├── collect_frames.py │ │ │ │ ├── collect_inputs.py │ │ │ │ ├── collect_instances.py │ │ │ │ ├── collect_instances_usd_layered.py │ │ │ │ ├── collect_karma_rop.py │ │ │ │ ├── collect_mantra_rop.py │ │ │ │ ├── collect_output_node.py │ │ │ │ ├── collect_pointcache_type.py │ │ │ │ ├── collect_redshift_rop.py │ │ │ │ ├── collect_remote_publish.py │ │ │ │ ├── collect_render_products.py │ │ │ │ ├── collect_review_data.py │ │ │ │ ├── collect_rop_frame_range.py │ │ │ │ ├── collect_staticmesh_type.py │ │ │ │ ├── collect_usd_bootstrap.py │ │ │ │ ├── collect_usd_layers.py │ │ │ │ ├── collect_vray_rop.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── collect_workscene_fps.py │ │ │ │ ├── extract_alembic.py │ │ │ │ ├── extract_ass.py │ │ │ │ ├── extract_bgeo.py │ │ │ │ ├── extract_composite.py │ │ │ │ ├── extract_fbx.py │ │ │ │ ├── extract_hda.py │ │ │ │ ├── extract_mantra_ifd.py │ │ │ │ ├── extract_opengl.py │ │ │ │ ├── extract_redshift_proxy.py │ │ │ │ ├── extract_usd.py │ │ │ │ ├── extract_usd_layered.py │ │ │ │ ├── extract_vdb_cache.py │ │ │ │ ├── help/ │ │ │ │ │ └── validate_vdb_output_node.xml │ │ │ │ ├── increment_current_file.py │ │ │ │ ├── save_scene.py │ │ │ │ ├── validate_abc_primitive_to_detail.py │ │ │ │ ├── validate_alembic_face_sets.py │ │ │ │ ├── validate_alembic_input_node.py │ │ │ │ ├── validate_animation_settings.py │ │ │ │ ├── validate_bypass.py │ │ │ │ ├── validate_camera_rop.py │ │ │ │ ├── validate_cop_output_node.py │ │ │ │ ├── validate_fbx_output_node.py │ │ │ │ ├── validate_file_extension.py │ │ │ │ ├── validate_frame_range.py │ │ │ │ ├── validate_frame_token.py │ │ │ │ ├── validate_houdini_license_category.py │ │ │ │ ├── validate_mesh_is_static.py │ │ │ │ ├── validate_mkpaths_toggled.py │ │ │ │ ├── validate_no_errors.py │ │ │ │ ├── validate_primitive_hierarchy_paths.py │ │ │ │ ├── validate_remote_publish.py │ │ │ │ ├── validate_remote_publish_enabled.py │ │ │ │ ├── validate_review_colorspace.py │ │ │ │ ├── validate_scene_review.py │ │ │ │ ├── validate_sop_output_node.py │ │ │ │ ├── validate_subset_name.py │ │ │ │ ├── validate_unreal_staticmesh_naming.py │ │ │ │ ├── validate_usd_layer_path_backslashes.py │ │ │ │ ├── validate_usd_model_and_shade.py │ │ │ │ ├── validate_usd_output_node.py │ │ │ │ ├── validate_usd_render_product_names.py │ │ │ │ ├── validate_usd_setdress.py │ │ │ │ ├── validate_usd_shade_model_exists.py │ │ │ │ ├── validate_usd_shade_workspace.py │ │ │ │ ├── validate_vdb_output_node.py │ │ │ │ └── validate_workfile_paths.py │ │ │ └── startup/ │ │ │ ├── MainMenuCommon.xml │ │ │ ├── python2.7libs/ │ │ │ │ └── pythonrc.py │ │ │ ├── python3.10libs/ │ │ │ │ └── pythonrc.py │ │ │ ├── python3.7libs/ │ │ │ │ └── pythonrc.py │ │ │ └── python3.9libs/ │ │ │ └── pythonrc.py │ │ ├── max/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── action.py │ │ │ │ ├── colorspace.py │ │ │ │ ├── lib.py │ │ │ │ ├── lib_renderproducts.py │ │ │ │ ├── lib_rendersettings.py │ │ │ │ ├── menu.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ └── preview_animation.py │ │ │ ├── hooks/ │ │ │ │ ├── force_startup_script.py │ │ │ │ ├── inject_python.py │ │ │ │ └── set_paths.py │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ ├── create/ │ │ │ │ │ ├── create_camera.py │ │ │ │ │ ├── create_maxScene.py │ │ │ │ │ ├── create_model.py │ │ │ │ │ ├── create_pointcache.py │ │ │ │ │ ├── create_pointcloud.py │ │ │ │ │ ├── create_redshift_proxy.py │ │ │ │ │ ├── create_render.py │ │ │ │ │ ├── create_review.py │ │ │ │ │ ├── create_tycache.py │ │ │ │ │ └── create_workfile.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_camera_fbx.py │ │ │ │ │ ├── load_max_scene.py │ │ │ │ │ ├── load_model.py │ │ │ │ │ ├── load_model_fbx.py │ │ │ │ │ ├── load_model_obj.py │ │ │ │ │ ├── load_model_usd.py │ │ │ │ │ ├── load_pointcache.py │ │ │ │ │ ├── load_pointcache_ornatrix.py │ │ │ │ │ ├── load_pointcloud.py │ │ │ │ │ ├── load_redshift_proxy.py │ │ │ │ │ └── load_tycache.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_frame_range.py │ │ │ │ ├── collect_members.py │ │ │ │ ├── collect_render.py │ │ │ │ ├── collect_review.py │ │ │ │ ├── collect_tycache_attributes.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── extract_alembic.py │ │ │ │ ├── extract_fbx.py │ │ │ │ ├── extract_max_scene_raw.py │ │ │ │ ├── extract_model_obj.py │ │ │ │ ├── extract_model_usd.py │ │ │ │ ├── extract_pointcloud.py │ │ │ │ ├── extract_redshift_proxy.py │ │ │ │ ├── extract_review_animation.py │ │ │ │ ├── extract_thumbnail.py │ │ │ │ ├── extract_tycache.py │ │ │ │ ├── increment_workfile_version.py │ │ │ │ ├── save_scene.py │ │ │ │ ├── save_scenes_for_cameras.py │ │ │ │ ├── validate_attributes.py │ │ │ │ ├── validate_camera_attributes.py │ │ │ │ ├── validate_camera_contents.py │ │ │ │ ├── validate_frame_range.py │ │ │ │ ├── validate_instance_has_members.py │ │ │ │ ├── validate_instance_in_context.py │ │ │ │ ├── validate_loaded_plugin.py │ │ │ │ ├── validate_model_contents.py │ │ │ │ ├── validate_pointcloud.py │ │ │ │ ├── validate_renderable_camera.py │ │ │ │ ├── validate_renderer_redshift_proxy.py │ │ │ │ ├── validate_renderpasses.py │ │ │ │ ├── validate_resolution_setting.py │ │ │ │ ├── validate_scene_saved.py │ │ │ │ └── validate_tyflow_data.py │ │ │ └── startup/ │ │ │ ├── startup.ms │ │ │ └── startup.py │ │ ├── maya/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── action.py │ │ │ │ ├── alembic.py │ │ │ │ ├── commands.py │ │ │ │ ├── customize.py │ │ │ │ ├── exitstack.py │ │ │ │ ├── fbx.py │ │ │ │ ├── gltf.py │ │ │ │ ├── lib.py │ │ │ │ ├── lib_renderproducts.py │ │ │ │ ├── lib_rendersettings.py │ │ │ │ ├── lib_rendersetup.py │ │ │ │ ├── menu.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── render_setup_tools.py │ │ │ │ ├── setdress.py │ │ │ │ ├── shader_definition_editor.py │ │ │ │ ├── workfile_template_builder.py │ │ │ │ └── workio.py │ │ │ ├── hooks/ │ │ │ │ ├── pre_auto_load_plugins.py │ │ │ │ ├── pre_copy_mel.py │ │ │ │ └── pre_open_workfile_post_initialization.py │ │ │ ├── lib.py │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ ├── create/ │ │ │ │ │ ├── convert_legacy.py │ │ │ │ │ ├── create_animation_pointcache.py │ │ │ │ │ ├── create_arnold_scene_source.py │ │ │ │ │ ├── create_assembly.py │ │ │ │ │ ├── create_camera.py │ │ │ │ │ ├── create_layout.py │ │ │ │ │ ├── create_look.py │ │ │ │ │ ├── create_matchmove.py │ │ │ │ │ ├── create_maya_usd.py │ │ │ │ │ ├── create_mayascene.py │ │ │ │ │ ├── create_model.py │ │ │ │ │ ├── create_multishot_layout.py │ │ │ │ │ ├── create_multiverse_look.py │ │ │ │ │ ├── create_multiverse_usd.py │ │ │ │ │ ├── create_multiverse_usd_comp.py │ │ │ │ │ ├── create_multiverse_usd_over.py │ │ │ │ │ ├── create_proxy_abc.py │ │ │ │ │ ├── create_redshift_proxy.py │ │ │ │ │ ├── create_render.py │ │ │ │ │ ├── create_rendersetup.py │ │ │ │ │ ├── create_review.py │ │ │ │ │ ├── create_rig.py │ │ │ │ │ ├── create_setdress.py │ │ │ │ │ ├── create_unreal_skeletalmesh.py │ │ │ │ │ ├── create_unreal_staticmesh.py │ │ │ │ │ ├── create_unreal_yeticache.py │ │ │ │ │ ├── create_vrayproxy.py │ │ │ │ │ ├── create_vrayscene.py │ │ │ │ │ ├── create_workfile.py │ │ │ │ │ ├── create_xgen.py │ │ │ │ │ ├── create_yeti_cache.py │ │ │ │ │ └── create_yeti_rig.py │ │ │ │ ├── inventory/ │ │ │ │ │ ├── connect_geometry.py │ │ │ │ │ ├── connect_xgen.py │ │ │ │ │ ├── connect_yeti_rig.py │ │ │ │ │ ├── import_modelrender.py │ │ │ │ │ ├── import_reference.py │ │ │ │ │ ├── rig_recreate_animation_instance.py │ │ │ │ │ └── select_containers.py │ │ │ │ ├── load/ │ │ │ │ │ ├── _load_animation.py │ │ │ │ │ ├── actions.py │ │ │ │ │ ├── load_arnold_standin.py │ │ │ │ │ ├── load_assembly.py │ │ │ │ │ ├── load_audio.py │ │ │ │ │ ├── load_gpucache.py │ │ │ │ │ ├── load_image.py │ │ │ │ │ ├── load_image_plane.py │ │ │ │ │ ├── load_look.py │ │ │ │ │ ├── load_matchmove.py │ │ │ │ │ ├── load_maya_usd.py │ │ │ │ │ ├── load_multiverse_usd.py │ │ │ │ │ ├── load_multiverse_usd_over.py │ │ │ │ │ ├── load_redshift_proxy.py │ │ │ │ │ ├── load_reference.py │ │ │ │ │ ├── load_rendersetup.py │ │ │ │ │ ├── load_vdb_to_arnold.py │ │ │ │ │ ├── load_vdb_to_redshift.py │ │ │ │ │ ├── load_vdb_to_vray.py │ │ │ │ │ ├── load_vrayproxy.py │ │ │ │ │ ├── load_vrayscene.py │ │ │ │ │ ├── load_xgen.py │ │ │ │ │ ├── load_yeti_cache.py │ │ │ │ │ └── load_yeti_rig.py │ │ │ │ └── publish/ │ │ │ │ ├── __init__.py │ │ │ │ ├── collect_animation.py │ │ │ │ ├── collect_arnold_scene_source.py │ │ │ │ ├── collect_assembly.py │ │ │ │ ├── collect_current_file.py │ │ │ │ ├── collect_fbx_animation.py │ │ │ │ ├── collect_fbx_camera.py │ │ │ │ ├── collect_file_dependencies.py │ │ │ │ ├── collect_gltf.py │ │ │ │ ├── collect_history.py │ │ │ │ ├── collect_inputs.py │ │ │ │ ├── collect_instances.py │ │ │ │ ├── collect_look.py │ │ │ │ ├── collect_maya_scene_time.py │ │ │ │ ├── collect_maya_units.py │ │ │ │ ├── collect_maya_workspace.py │ │ │ │ ├── collect_model.py │ │ │ │ ├── collect_multiverse_look.py │ │ │ │ ├── collect_pointcache.py │ │ │ │ ├── collect_remove_marked.py │ │ │ │ ├── collect_render.py │ │ │ │ ├── collect_render_layer_aovs.py │ │ │ │ ├── collect_renderable_camera.py │ │ │ │ ├── collect_review.py │ │ │ │ ├── collect_rig_sets.py │ │ │ │ ├── collect_skeleton_mesh.py │ │ │ │ ├── collect_unreal_skeletalmesh.py │ │ │ │ ├── collect_unreal_staticmesh.py │ │ │ │ ├── collect_user_defined_attributes.py │ │ │ │ ├── collect_vrayproxy.py │ │ │ │ ├── collect_vrayscene.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── collect_workscene_fps.py │ │ │ │ ├── collect_xgen.py │ │ │ │ ├── collect_yeti_cache.py │ │ │ │ ├── collect_yeti_rig.py │ │ │ │ ├── determine_future_version.py │ │ │ │ ├── extract_active_view_thumbnail.py │ │ │ │ ├── extract_arnold_scene_source.py │ │ │ │ ├── extract_assembly.py │ │ │ │ ├── extract_camera_alembic.py │ │ │ │ ├── extract_camera_mayaScene.py │ │ │ │ ├── extract_fbx.py │ │ │ │ ├── extract_fbx_animation.py │ │ │ │ ├── extract_gltf.py │ │ │ │ ├── extract_gpu_cache.py │ │ │ │ ├── extract_import_reference.py │ │ │ │ ├── extract_layout.py │ │ │ │ ├── extract_look.py │ │ │ │ ├── extract_maya_scene_raw.py │ │ │ │ ├── extract_maya_usd.py │ │ │ │ ├── extract_model.py │ │ │ │ ├── extract_multiverse_look.py │ │ │ │ ├── extract_multiverse_usd.py │ │ │ │ ├── extract_multiverse_usd_comp.py │ │ │ │ ├── extract_multiverse_usd_over.py │ │ │ │ ├── extract_obj.py │ │ │ │ ├── extract_playblast.py │ │ │ │ ├── extract_pointcache.py │ │ │ │ ├── extract_proxy_abc.py │ │ │ │ ├── extract_redshift_proxy.py │ │ │ │ ├── extract_rendersetup.py │ │ │ │ ├── extract_rig.py │ │ │ │ ├── extract_skeleton_mesh.py │ │ │ │ ├── extract_thumbnail.py │ │ │ │ ├── extract_unreal_skeletalmesh_abc.py │ │ │ │ ├── extract_unreal_skeletalmesh_fbx.py │ │ │ │ ├── extract_unreal_staticmesh.py │ │ │ │ ├── extract_unreal_yeticache.py │ │ │ │ ├── extract_vrayproxy.py │ │ │ │ ├── extract_vrayscene.py │ │ │ │ ├── extract_workfile_xgen.py │ │ │ │ ├── extract_xgen.py │ │ │ │ ├── extract_yeti_cache.py │ │ │ │ ├── extract_yeti_rig.py │ │ │ │ ├── help/ │ │ │ │ │ ├── submit_maya_remote_publish_deadline.xml │ │ │ │ │ ├── validate_maya_units.xml │ │ │ │ │ ├── validate_node_ids.xml │ │ │ │ │ └── validate_skeletalmesh_hierarchy.xml │ │ │ │ ├── increment_current_file_deadline.py │ │ │ │ ├── reset_xgen_attributes.py │ │ │ │ ├── save_scene.py │ │ │ │ ├── validate_alembic_options_defaults.py │ │ │ │ ├── validate_animated_reference.py │ │ │ │ ├── validate_animation_content.py │ │ │ │ ├── validate_animation_out_set_related_node_ids.py │ │ │ │ ├── validate_arnold_scene_source.py │ │ │ │ ├── validate_arnold_scene_source_cbid.py │ │ │ │ ├── validate_ass_relative_paths.py │ │ │ │ ├── validate_assembly_name.py │ │ │ │ ├── validate_assembly_namespaces.py │ │ │ │ ├── validate_assembly_transforms.py │ │ │ │ ├── validate_attributes.py │ │ │ │ ├── validate_camera_attributes.py │ │ │ │ ├── validate_camera_contents.py │ │ │ │ ├── validate_color_sets.py │ │ │ │ ├── validate_current_renderlayer_renderable.py │ │ │ │ ├── validate_cycle_error.py │ │ │ │ ├── validate_frame_range.py │ │ │ │ ├── validate_glsl_material.py │ │ │ │ ├── validate_glsl_plugin.py │ │ │ │ ├── validate_instance_has_members.py │ │ │ │ ├── validate_instance_in_context.py │ │ │ │ ├── validate_instance_subset.py │ │ │ │ ├── validate_instancer_content.py │ │ │ │ ├── validate_instancer_frame_ranges.py │ │ │ │ ├── validate_loaded_plugin.py │ │ │ │ ├── validate_look_contents.py │ │ │ │ ├── validate_look_default_shaders_connections.py │ │ │ │ ├── validate_look_id_reference_edits.py │ │ │ │ ├── validate_look_no_default_shaders.py │ │ │ │ ├── validate_look_sets.py │ │ │ │ ├── validate_look_shading_group.py │ │ │ │ ├── validate_look_single_shader.py │ │ │ │ ├── validate_maya_units.py │ │ │ │ ├── validate_mesh_arnold_attributes.py │ │ │ │ ├── validate_mesh_empty.py │ │ │ │ ├── validate_mesh_has_uv.py │ │ │ │ ├── validate_mesh_lamina_faces.py │ │ │ │ ├── validate_mesh_ngons.py │ │ │ │ ├── validate_mesh_no_negative_scale.py │ │ │ │ ├── validate_mesh_non_manifold.py │ │ │ │ ├── validate_mesh_non_zero_edge.py │ │ │ │ ├── validate_mesh_normals_unlocked.py │ │ │ │ ├── validate_mesh_overlapping_uvs.py │ │ │ │ ├── validate_mesh_shader_connections.py │ │ │ │ ├── validate_mesh_single_uv_set.py │ │ │ │ ├── validate_mesh_uv_set_map1.py │ │ │ │ ├── validate_mesh_vertices_have_edges.py │ │ │ │ ├── validate_model_content.py │ │ │ │ ├── validate_model_name.py │ │ │ │ ├── validate_mvlook_contents.py │ │ │ │ ├── validate_no_animation.py │ │ │ │ ├── validate_no_default_camera.py │ │ │ │ ├── validate_no_namespace.py │ │ │ │ ├── validate_no_null_transforms.py │ │ │ │ ├── validate_no_unknown_nodes.py │ │ │ │ ├── validate_no_vraymesh.py │ │ │ │ ├── validate_node_ids.py │ │ │ │ ├── validate_node_ids_deformed_shapes.py │ │ │ │ ├── validate_node_ids_in_database.py │ │ │ │ ├── validate_node_ids_related.py │ │ │ │ ├── validate_node_ids_unique.py │ │ │ │ ├── validate_node_no_ghosting.py │ │ │ │ ├── validate_plugin_path_attributes.py │ │ │ │ ├── validate_render_image_rule.py │ │ │ │ ├── validate_render_no_default_cameras.py │ │ │ │ ├── validate_render_single_camera.py │ │ │ │ ├── validate_renderlayer_aovs.py │ │ │ │ ├── validate_rendersettings.py │ │ │ │ ├── validate_resolution.py │ │ │ │ ├── validate_resources.py │ │ │ │ ├── validate_review.py │ │ │ │ ├── validate_rig_contents.py │ │ │ │ ├── validate_rig_controllers.py │ │ │ │ ├── validate_rig_controllers_arnold_attributes.py │ │ │ │ ├── validate_rig_joints_hidden.py │ │ │ │ ├── validate_rig_out_set_node_ids.py │ │ │ │ ├── validate_rig_output_ids.py │ │ │ │ ├── validate_scene_set_workspace.py │ │ │ │ ├── validate_setdress_root.py │ │ │ │ ├── validate_shader_name.py │ │ │ │ ├── validate_shape_default_names.py │ │ │ │ ├── validate_shape_render_stats.py │ │ │ │ ├── validate_shape_zero.py │ │ │ │ ├── validate_single_assembly.py │ │ │ │ ├── validate_skeletalmesh_hierarchy.py │ │ │ │ ├── validate_skeletalmesh_triangulated.py │ │ │ │ ├── validate_skeleton_top_group_hierarchy.py │ │ │ │ ├── validate_skinCluster_deformer_set.py │ │ │ │ ├── validate_step_size.py │ │ │ │ ├── validate_transform_naming_suffix.py │ │ │ │ ├── validate_transform_zero.py │ │ │ │ ├── validate_unique_names.py │ │ │ │ ├── validate_unreal_mesh_triangulated.py │ │ │ │ ├── validate_unreal_staticmesh_naming.py │ │ │ │ ├── validate_unreal_up_axis.py │ │ │ │ ├── validate_visible_only.py │ │ │ │ ├── validate_vray.py │ │ │ │ ├── validate_vray_distributed_rendering.py │ │ │ │ ├── validate_vray_referenced_aovs.py │ │ │ │ ├── validate_vray_translator_settings.py │ │ │ │ ├── validate_vrayproxy.py │ │ │ │ ├── validate_vrayproxy_members.py │ │ │ │ ├── validate_xgen.py │ │ │ │ ├── validate_yeti_renderscript_callbacks.py │ │ │ │ ├── validate_yeti_rig_cache_state.py │ │ │ │ ├── validate_yeti_rig_input_in_instance.py │ │ │ │ └── validate_yeti_rig_settings.py │ │ │ ├── startup/ │ │ │ │ └── userSetup.py │ │ │ └── tools/ │ │ │ ├── __init__.py │ │ │ └── mayalookassigner/ │ │ │ ├── LICENSE │ │ │ ├── __init__.py │ │ │ ├── alembic.py │ │ │ ├── app.py │ │ │ ├── arnold_standin.py │ │ │ ├── commands.py │ │ │ ├── lib.py │ │ │ ├── models.py │ │ │ ├── usd.py │ │ │ ├── views.py │ │ │ ├── vray_proxies.py │ │ │ └── widgets.py │ │ ├── nuke/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── actions.py │ │ │ │ ├── command.py │ │ │ │ ├── constants.py │ │ │ │ ├── gizmo_menu.py │ │ │ │ ├── lib.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── push_to_project.py │ │ │ │ ├── utils.py │ │ │ │ ├── workfile_template_builder.py │ │ │ │ └── workio.py │ │ │ ├── hooks/ │ │ │ │ └── pre_nukeassist_setup.py │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ ├── create/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── convert_legacy.py │ │ │ │ │ ├── create_backdrop.py │ │ │ │ │ ├── create_camera.py │ │ │ │ │ ├── create_gizmo.py │ │ │ │ │ ├── create_model.py │ │ │ │ │ ├── create_source.py │ │ │ │ │ ├── create_write_image.py │ │ │ │ │ ├── create_write_prerender.py │ │ │ │ │ ├── create_write_render.py │ │ │ │ │ └── workfile_creator.py │ │ │ │ ├── inventory/ │ │ │ │ │ ├── repair_old_loaders.py │ │ │ │ │ └── select_containers.py │ │ │ │ ├── load/ │ │ │ │ │ ├── actions.py │ │ │ │ │ ├── load_backdrop.py │ │ │ │ │ ├── load_camera_abc.py │ │ │ │ │ ├── load_clip.py │ │ │ │ │ ├── load_effects.py │ │ │ │ │ ├── load_effects_ip.py │ │ │ │ │ ├── load_gizmo.py │ │ │ │ │ ├── load_gizmo_ip.py │ │ │ │ │ ├── load_image.py │ │ │ │ │ ├── load_matchmove.py │ │ │ │ │ ├── load_model.py │ │ │ │ │ ├── load_ociolook.py │ │ │ │ │ └── load_script_precomp.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_backdrop.py │ │ │ │ ├── collect_context_data.py │ │ │ │ ├── collect_framerate.py │ │ │ │ ├── collect_gizmo.py │ │ │ │ ├── collect_model.py │ │ │ │ ├── collect_nuke_instance_data.py │ │ │ │ ├── collect_reads.py │ │ │ │ ├── collect_slate_node.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── collect_writes.py │ │ │ │ ├── extract_backdrop.py │ │ │ │ ├── extract_camera.py │ │ │ │ ├── extract_gizmo.py │ │ │ │ ├── extract_model.py │ │ │ │ ├── extract_ouput_node.py │ │ │ │ ├── extract_output_directory.py │ │ │ │ ├── extract_render_local.py │ │ │ │ ├── extract_review_data.py │ │ │ │ ├── extract_review_data_lut.py │ │ │ │ ├── extract_review_intermediates.py │ │ │ │ ├── extract_script_save.py │ │ │ │ ├── extract_slate_frame.py │ │ │ │ ├── help/ │ │ │ │ │ ├── validate_asset_context.xml │ │ │ │ │ ├── validate_backdrop.xml │ │ │ │ │ ├── validate_gizmo.xml │ │ │ │ │ ├── validate_knobs.xml │ │ │ │ │ ├── validate_output_resolution.xml │ │ │ │ │ ├── validate_proxy_mode.xml │ │ │ │ │ ├── validate_rendered_frames.xml │ │ │ │ │ ├── validate_script_attributes.xml │ │ │ │ │ └── validate_write_nodes.xml │ │ │ │ ├── increment_script_version.py │ │ │ │ ├── remove_ouput_node.py │ │ │ │ ├── validate_asset_context.py │ │ │ │ ├── validate_backdrop.py │ │ │ │ ├── validate_exposed_knobs.py │ │ │ │ ├── validate_gizmo.py │ │ │ │ ├── validate_knobs.py │ │ │ │ ├── validate_output_resolution.py │ │ │ │ ├── validate_proxy_mode.py │ │ │ │ ├── validate_rendered_frames.py │ │ │ │ ├── validate_script_attributes.py │ │ │ │ └── validate_write_nodes.py │ │ │ ├── startup/ │ │ │ │ ├── __init__.py │ │ │ │ ├── clear_rendered.py │ │ │ │ ├── custom_write_node.py │ │ │ │ ├── frame_setting_for_read_nodes.py │ │ │ │ ├── menu.py │ │ │ │ └── write_to_read.py │ │ │ └── vendor/ │ │ │ └── google/ │ │ │ └── protobuf/ │ │ │ ├── __init__.py │ │ │ ├── any_pb2.py │ │ │ ├── api_pb2.py │ │ │ ├── compiler/ │ │ │ │ ├── __init__.py │ │ │ │ └── plugin_pb2.py │ │ │ ├── descriptor.py │ │ │ ├── descriptor_database.py │ │ │ ├── descriptor_pb2.py │ │ │ ├── descriptor_pool.py │ │ │ ├── duration_pb2.py │ │ │ ├── empty_pb2.py │ │ │ ├── field_mask_pb2.py │ │ │ ├── internal/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _parameterized.py │ │ │ │ ├── api_implementation.py │ │ │ │ ├── builder.py │ │ │ │ ├── containers.py │ │ │ │ ├── decoder.py │ │ │ │ ├── encoder.py │ │ │ │ ├── enum_type_wrapper.py │ │ │ │ ├── extension_dict.py │ │ │ │ ├── message_listener.py │ │ │ │ ├── message_set_extensions_pb2.py │ │ │ │ ├── missing_enum_values_pb2.py │ │ │ │ ├── more_extensions_dynamic_pb2.py │ │ │ │ ├── more_extensions_pb2.py │ │ │ │ ├── more_messages_pb2.py │ │ │ │ ├── no_package_pb2.py │ │ │ │ ├── python_message.py │ │ │ │ ├── type_checkers.py │ │ │ │ ├── well_known_types.py │ │ │ │ └── wire_format.py │ │ │ ├── json_format.py │ │ │ ├── message.py │ │ │ ├── message_factory.py │ │ │ ├── proto_builder.py │ │ │ ├── pyext/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cpp_message.py │ │ │ │ └── python_pb2.py │ │ │ ├── reflection.py │ │ │ ├── service.py │ │ │ ├── service_reflection.py │ │ │ ├── source_context_pb2.py │ │ │ ├── struct_pb2.py │ │ │ ├── symbol_database.py │ │ │ ├── text_encoding.py │ │ │ ├── text_format.py │ │ │ ├── timestamp_pb2.py │ │ │ ├── type_pb2.py │ │ │ ├── util/ │ │ │ │ ├── __init__.py │ │ │ │ ├── json_format_pb2.py │ │ │ │ └── json_format_proto3_pb2.py │ │ │ └── wrappers_pb2.py │ │ ├── photoshop/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── extension/ │ │ │ │ │ ├── .debug │ │ │ │ │ ├── CSXS/ │ │ │ │ │ │ └── manifest.xml │ │ │ │ │ ├── client/ │ │ │ │ │ │ ├── CSInterface.js │ │ │ │ │ │ ├── client.js │ │ │ │ │ │ └── wsrpc.js │ │ │ │ │ ├── host/ │ │ │ │ │ │ ├── JSX.js │ │ │ │ │ │ ├── index.jsx │ │ │ │ │ │ └── json.js │ │ │ │ │ └── index.html │ │ │ │ ├── extension.zxp │ │ │ │ ├── launch_logic.py │ │ │ │ ├── lib.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ └── ws_stub.py │ │ │ ├── lib.py │ │ │ ├── plugins/ │ │ │ │ ├── create/ │ │ │ │ │ ├── create_flatten_image.py │ │ │ │ │ ├── create_image.py │ │ │ │ │ ├── create_review.py │ │ │ │ │ └── create_workfile.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_image.py │ │ │ │ │ ├── load_image_from_sequence.py │ │ │ │ │ └── load_reference.py │ │ │ │ └── publish/ │ │ │ │ ├── closePS.py │ │ │ │ ├── collect_auto_image.py │ │ │ │ ├── collect_auto_image_refresh.py │ │ │ │ ├── collect_auto_review.py │ │ │ │ ├── collect_auto_workfile.py │ │ │ │ ├── collect_batch_data.py │ │ │ │ ├── collect_color_coded_instances.py │ │ │ │ ├── collect_current_file.py │ │ │ │ ├── collect_extension_version.py │ │ │ │ ├── collect_image.py │ │ │ │ ├── collect_published_version.py │ │ │ │ ├── collect_review.py │ │ │ │ ├── collect_version.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── extract_image.py │ │ │ │ ├── extract_review.py │ │ │ │ ├── extract_save_scene.py │ │ │ │ ├── help/ │ │ │ │ │ ├── validate_instance_asset.xml │ │ │ │ │ └── validate_naming.xml │ │ │ │ ├── increment_workfile.py │ │ │ │ ├── validate_instance_asset.py │ │ │ │ └── validate_naming.py │ │ │ └── resources/ │ │ │ └── template.psd │ │ ├── resolve/ │ │ │ ├── README.markdown │ │ │ ├── RESOLVE_API_v18.5.1-build6.txt │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── action.py │ │ │ │ ├── lib.py │ │ │ │ ├── menu.py │ │ │ │ ├── menu_style.qss │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── testing_utils.py │ │ │ │ ├── todo-rendering.py │ │ │ │ ├── utils.py │ │ │ │ └── workio.py │ │ │ ├── hooks/ │ │ │ │ ├── pre_resolve_last_workfile.py │ │ │ │ ├── pre_resolve_setup.py │ │ │ │ └── pre_resolve_startup.py │ │ │ ├── otio/ │ │ │ │ ├── __init__.py │ │ │ │ ├── davinci_export.py │ │ │ │ ├── davinci_import.py │ │ │ │ └── utils.py │ │ │ ├── plugins/ │ │ │ │ ├── create/ │ │ │ │ │ └── create_shot_clip.py │ │ │ │ ├── load/ │ │ │ │ │ └── load_clip.py │ │ │ │ └── publish/ │ │ │ │ ├── extract_workfile.py │ │ │ │ ├── precollect_instances.py │ │ │ │ └── precollect_workfile.py │ │ │ ├── startup.py │ │ │ ├── utility_scripts/ │ │ │ │ ├── AYON__Menu.py │ │ │ │ ├── OpenPype__Menu.py │ │ │ │ ├── develop/ │ │ │ │ │ ├── OTIO_export.py │ │ │ │ │ ├── OTIO_import.py │ │ │ │ │ └── OpenPype_sync_util_scripts.py │ │ │ │ └── openpype_startup.scriptlib │ │ │ └── utils.py │ │ ├── standalonepublisher/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ └── plugins/ │ │ │ └── publish/ │ │ │ ├── collect_app_name.py │ │ │ ├── collect_bulk_mov_instances.py │ │ │ ├── collect_context.py │ │ │ ├── collect_editorial.py │ │ │ ├── collect_editorial_instances.py │ │ │ ├── collect_editorial_resources.py │ │ │ ├── collect_harmony_scenes.py │ │ │ ├── collect_harmony_zips.py │ │ │ ├── collect_hierarchy.py │ │ │ ├── collect_instance_data.py │ │ │ ├── collect_matching_asset.py │ │ │ ├── collect_remove_marked.py │ │ │ ├── collect_representation_names.py │ │ │ ├── collect_texture.py │ │ │ ├── extract_resources.py │ │ │ ├── extract_thumbnail.py │ │ │ ├── extract_workfile_location.py │ │ │ ├── help/ │ │ │ │ ├── validate_editorial_resources.xml │ │ │ │ ├── validate_frame_ranges.xml │ │ │ │ ├── validate_shot_duplicates.xml │ │ │ │ ├── validate_simple_texture_naming.xml │ │ │ │ ├── validate_sources.xml │ │ │ │ ├── validate_task_existence.xml │ │ │ │ ├── validate_texture_batch.xml │ │ │ │ ├── validate_texture_has_workfile.xml │ │ │ │ ├── validate_texture_name.xml │ │ │ │ ├── validate_texture_versions.xml │ │ │ │ └── validate_texture_workfiles.xml │ │ │ ├── validate_editorial_resources.py │ │ │ ├── validate_frame_ranges.py │ │ │ ├── validate_shot_duplicates.py │ │ │ ├── validate_sources.py │ │ │ ├── validate_task_existence.py │ │ │ ├── validate_texture_batch.py │ │ │ ├── validate_texture_has_workfile.py │ │ │ ├── validate_texture_name.py │ │ │ ├── validate_texture_versions.py │ │ │ └── validate_texture_workfiles.py │ │ ├── substancepainter/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── colorspace.py │ │ │ │ ├── lib.py │ │ │ │ └── pipeline.py │ │ │ ├── deploy/ │ │ │ │ ├── plugins/ │ │ │ │ │ └── openpype_plugin.py │ │ │ │ └── startup/ │ │ │ │ └── openpype_load_on_first_run.py │ │ │ └── plugins/ │ │ │ ├── create/ │ │ │ │ ├── create_textures.py │ │ │ │ └── create_workfile.py │ │ │ ├── load/ │ │ │ │ └── load_mesh.py │ │ │ └── publish/ │ │ │ ├── collect_current_file.py │ │ │ ├── collect_textureset_images.py │ │ │ ├── collect_workfile_representation.py │ │ │ ├── extract_textures.py │ │ │ ├── increment_workfile.py │ │ │ ├── save_workfile.py │ │ │ └── validate_ouput_maps.py │ │ ├── traypublisher/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── editorial.py │ │ │ │ ├── pipeline.py │ │ │ │ └── plugin.py │ │ │ ├── batch_parsing.py │ │ │ └── plugins/ │ │ │ ├── create/ │ │ │ │ ├── create_colorspace_look.py │ │ │ │ ├── create_editorial.py │ │ │ │ ├── create_from_settings.py │ │ │ │ ├── create_movie_batch.py │ │ │ │ └── create_online.py │ │ │ └── publish/ │ │ │ ├── collect_app_name.py │ │ │ ├── collect_clip_instances.py │ │ │ ├── collect_colorspace_look.py │ │ │ ├── collect_editorial_instances.py │ │ │ ├── collect_editorial_reviewable.py │ │ │ ├── collect_explicit_colorspace.py │ │ │ ├── collect_frame_data_from_asset_entity.py │ │ │ ├── collect_movie_batch.py │ │ │ ├── collect_online_file.py │ │ │ ├── collect_review_frames.py │ │ │ ├── collect_sequence_frame_data.py │ │ │ ├── collect_shot_instances.py │ │ │ ├── collect_simple_instances.py │ │ │ ├── collect_source.py │ │ │ ├── extract_colorspace_look.py │ │ │ ├── help/ │ │ │ │ ├── validate_existing_version.xml │ │ │ │ └── validate_frame_ranges.xml │ │ │ ├── validate_colorspace.py │ │ │ ├── validate_colorspace_look.py │ │ │ ├── validate_existing_version.py │ │ │ ├── validate_filepaths.py │ │ │ ├── validate_frame_ranges.py │ │ │ └── validate_online_file.py │ │ ├── tvpaint/ │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── communication_server.py │ │ │ │ ├── launch_script.py │ │ │ │ ├── lib.py │ │ │ │ ├── pipeline.py │ │ │ │ └── plugin.py │ │ │ ├── hooks/ │ │ │ │ └── pre_launch_args.py │ │ │ ├── lib.py │ │ │ ├── plugins/ │ │ │ │ ├── create/ │ │ │ │ │ ├── convert_legacy.py │ │ │ │ │ ├── create_render.py │ │ │ │ │ ├── create_review.py │ │ │ │ │ └── create_workfile.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_image.py │ │ │ │ │ ├── load_reference_image.py │ │ │ │ │ ├── load_sound.py │ │ │ │ │ └── load_workfile.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_instance_frames.py │ │ │ │ ├── collect_render_instances.py │ │ │ │ ├── collect_workfile.py │ │ │ │ ├── collect_workfile_data.py │ │ │ │ ├── extract_convert_to_exr.py │ │ │ │ ├── extract_sequence.py │ │ │ │ ├── help/ │ │ │ │ │ ├── validate_asset_name.xml │ │ │ │ │ ├── validate_duplicated_layer_names.xml │ │ │ │ │ ├── validate_layers_visibility.xml │ │ │ │ │ ├── validate_marks.xml │ │ │ │ │ ├── validate_missing_layer_names.xml │ │ │ │ │ ├── validate_render_layer_group.xml │ │ │ │ │ ├── validate_render_pass_group.xml │ │ │ │ │ ├── validate_scene_settings.xml │ │ │ │ │ ├── validate_start_frame.xml │ │ │ │ │ ├── validate_workfile_metadata.xml │ │ │ │ │ └── validate_workfile_project_name.xml │ │ │ │ ├── increment_workfile_version.py │ │ │ │ ├── validate_asset_name.py │ │ │ │ ├── validate_duplicated_layer_names.py │ │ │ │ ├── validate_layers_visibility.py │ │ │ │ ├── validate_marks.py │ │ │ │ ├── validate_missing_layer_names.py │ │ │ │ ├── validate_render_layer_group.py │ │ │ │ ├── validate_render_pass_group.py │ │ │ │ ├── validate_scene_settings.py │ │ │ │ ├── validate_start_frame.py │ │ │ │ ├── validate_workfile_metadata.py │ │ │ │ └── validate_workfile_project_name.py │ │ │ ├── resources/ │ │ │ │ └── template.tvpp │ │ │ ├── tvpaint_plugin/ │ │ │ │ ├── __init__.py │ │ │ │ └── plugin_code/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── library.cpp │ │ │ │ └── library.def │ │ │ └── worker/ │ │ │ ├── __init__.py │ │ │ ├── init_file.tvpp │ │ │ ├── worker.py │ │ │ └── worker_job.py │ │ ├── unreal/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── addon.py │ │ │ ├── api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── helpers.py │ │ │ │ ├── pipeline.py │ │ │ │ ├── plugin.py │ │ │ │ ├── rendering.py │ │ │ │ └── tools_ui.py │ │ │ ├── hooks/ │ │ │ │ └── pre_workfile_preparation.py │ │ │ ├── lib.py │ │ │ ├── plugins/ │ │ │ │ ├── __init__.py │ │ │ │ ├── create/ │ │ │ │ │ ├── create_camera.py │ │ │ │ │ ├── create_layout.py │ │ │ │ │ ├── create_look.py │ │ │ │ │ ├── create_render.py │ │ │ │ │ ├── create_staticmeshfbx.py │ │ │ │ │ └── create_uasset.py │ │ │ │ ├── inventory/ │ │ │ │ │ ├── delete_unused_assets.py │ │ │ │ │ └── update_actors.py │ │ │ │ ├── load/ │ │ │ │ │ ├── load_alembic_animation.py │ │ │ │ │ ├── load_animation.py │ │ │ │ │ ├── load_camera.py │ │ │ │ │ ├── load_geometrycache_abc.py │ │ │ │ │ ├── load_layout.py │ │ │ │ │ ├── load_layout_existing.py │ │ │ │ │ ├── load_skeletalmesh_abc.py │ │ │ │ │ ├── load_skeletalmesh_fbx.py │ │ │ │ │ ├── load_staticmesh_abc.py │ │ │ │ │ ├── load_staticmesh_fbx.py │ │ │ │ │ ├── load_uasset.py │ │ │ │ │ └── load_yeticache.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_current_file.py │ │ │ │ ├── collect_instance_members.py │ │ │ │ ├── collect_remove_marked.py │ │ │ │ ├── collect_render_instances.py │ │ │ │ ├── extract_camera.py │ │ │ │ ├── extract_layout.py │ │ │ │ ├── extract_look.py │ │ │ │ ├── extract_uasset.py │ │ │ │ ├── validate_no_dependencies.py │ │ │ │ └── validate_sequence_frames.py │ │ │ ├── ue_workers.py │ │ │ └── ui/ │ │ │ ├── __init__.py │ │ │ └── splash_screen.py │ │ └── webpublisher/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── addon.py │ │ ├── api/ │ │ │ └── __init__.py │ │ ├── lib.py │ │ ├── plugins/ │ │ │ └── publish/ │ │ │ ├── collect_batch_data.py │ │ │ ├── collect_fps.py │ │ │ ├── collect_published_files.py │ │ │ ├── collect_tvpaint_instances.py │ │ │ ├── collect_tvpaint_workfile_data.py │ │ │ ├── extract_tvpaint_workfile.py │ │ │ ├── others_cleanup_job_root.py │ │ │ └── validate_tvpaint_workfile_data.py │ │ ├── publish_functions.py │ │ └── webserver_service/ │ │ ├── __init__.py │ │ ├── webpublish_routes.py │ │ └── webserver.py │ ├── lib/ │ │ ├── __init__.py │ │ ├── applications.py │ │ ├── attribute_definitions.py │ │ ├── connections.py │ │ ├── dateutils.py │ │ ├── env_tools.py │ │ ├── events.py │ │ ├── execute.py │ │ ├── file_transaction.py │ │ ├── local_settings.py │ │ ├── log.py │ │ ├── openpype_version.py │ │ ├── path_templates.py │ │ ├── path_tools.py │ │ ├── plugin_tools.py │ │ ├── profiles_filtering.py │ │ ├── profiling.py │ │ ├── project_backpack.py │ │ ├── pype_info.py │ │ ├── python_2_comp.py │ │ ├── python_module_tools.py │ │ ├── terminal.py │ │ ├── transcoding.py │ │ ├── usdlib.py │ │ └── vendor_bin_utils.py │ ├── modules/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── asset_reporter/ │ │ │ ├── __init__.py │ │ │ ├── module.py │ │ │ └── window.py │ │ ├── avalon_apps/ │ │ │ ├── __init__.py │ │ │ ├── avalon_app.py │ │ │ └── rest_api.py │ │ ├── base.py │ │ ├── click_wrap.py │ │ ├── clockify/ │ │ │ ├── __init__.py │ │ │ ├── clockify_api.py │ │ │ ├── clockify_module.py │ │ │ ├── constants.py │ │ │ ├── ftrack/ │ │ │ │ ├── server/ │ │ │ │ │ └── action_clockify_sync_server.py │ │ │ │ └── user/ │ │ │ │ └── action_clockify_sync_local.py │ │ │ ├── launcher_actions/ │ │ │ │ ├── ClockifyStart.py │ │ │ │ └── ClockifySync.py │ │ │ └── widgets.py │ │ ├── deadline/ │ │ │ ├── __init__.py │ │ │ ├── abstract_submit_deadline.py │ │ │ ├── deadline_module.py │ │ │ ├── plugins/ │ │ │ │ └── publish/ │ │ │ │ ├── collect_deadline_server_from_instance.py │ │ │ │ ├── collect_default_deadline_server.py │ │ │ │ ├── collect_pools.py │ │ │ │ ├── collect_publishable_instances.py │ │ │ │ ├── help/ │ │ │ │ │ └── validate_deadline_pools.xml │ │ │ │ ├── submit_aftereffects_deadline.py │ │ │ │ ├── submit_blender_deadline.py │ │ │ │ ├── submit_celaction_deadline.py │ │ │ │ ├── submit_fusion_deadline.py │ │ │ │ ├── submit_harmony_deadline.py │ │ │ │ ├── submit_houdini_cache_deadline.py │ │ │ │ ├── submit_houdini_remote_publish.py │ │ │ │ ├── submit_houdini_render_deadline.py │ │ │ │ ├── submit_max_deadline.py │ │ │ │ ├── submit_maya_deadline.py │ │ │ │ ├── submit_maya_remote_publish_deadline.py │ │ │ │ ├── submit_nuke_deadline.py │ │ │ │ ├── submit_publish_cache_job.py │ │ │ │ ├── submit_publish_job.py │ │ │ │ ├── validate_deadline_connection.py │ │ │ │ ├── validate_deadline_pools.py │ │ │ │ └── validate_expected_and_rendered_files.py │ │ │ └── repository/ │ │ │ ├── custom/ │ │ │ │ └── plugins/ │ │ │ │ ├── Ayon/ │ │ │ │ │ ├── Ayon.options │ │ │ │ │ ├── Ayon.param │ │ │ │ │ └── Ayon.py │ │ │ │ ├── CelAction/ │ │ │ │ │ ├── CelAction.param │ │ │ │ │ └── CelAction.py │ │ │ │ ├── GlobalJobPreLoad.py │ │ │ │ ├── HarmonyOpenPype/ │ │ │ │ │ ├── HarmonyOpenPype.options │ │ │ │ │ ├── HarmonyOpenPype.param │ │ │ │ │ └── HarmonyOpenPype.py │ │ │ │ ├── OpenPype/ │ │ │ │ │ ├── OpenPype.options │ │ │ │ │ ├── OpenPype.param │ │ │ │ │ └── OpenPype.py │ │ │ │ └── OpenPypeTileAssembler/ │ │ │ │ ├── OpenPypeTileAssembler.options │ │ │ │ ├── OpenPypeTileAssembler.param │ │ │ │ └── OpenPypeTileAssembler.py │ │ │ └── readme.md │ │ ├── example_addons/ │ │ │ ├── example_addon/ │ │ │ │ ├── __init__.py │ │ │ │ ├── addon.py │ │ │ │ ├── plugins/ │ │ │ │ │ └── publish/ │ │ │ │ │ └── example_plugin.py │ │ │ │ ├── settings/ │ │ │ │ │ ├── defaults/ │ │ │ │ │ │ ├── project_settings.json │ │ │ │ │ │ └── system_settings.json │ │ │ │ │ ├── dynamic_schemas/ │ │ │ │ │ │ ├── project_dynamic_schemas.json │ │ │ │ │ │ └── system_dynamic_schemas.json │ │ │ │ │ └── schemas/ │ │ │ │ │ ├── project_schemas/ │ │ │ │ │ │ ├── main.json │ │ │ │ │ │ └── the_template.json │ │ │ │ │ └── system_schemas/ │ │ │ │ │ └── main.json │ │ │ │ └── widgets.py │ │ │ └── tiny_addon.py │ │ ├── ftrack/ │ │ │ ├── __init__.py │ │ │ ├── event_handlers_server/ │ │ │ │ ├── action_clone_review_session.py │ │ │ │ ├── action_create_review_session.py │ │ │ │ ├── action_multiple_notes.py │ │ │ │ ├── action_prepare_project.py │ │ │ │ ├── action_private_project_detection.py │ │ │ │ ├── action_push_frame_values_to_task.py │ │ │ │ ├── action_sync_to_avalon.py │ │ │ │ ├── action_tranfer_hierarchical_values.py │ │ │ │ ├── event_del_avalon_id_from_new.py │ │ │ │ ├── event_first_version_status.py │ │ │ │ ├── event_next_task_update.py │ │ │ │ ├── event_push_frame_values_to_task.py │ │ │ │ ├── event_radio_buttons.py │ │ │ │ ├── event_sync_links.py │ │ │ │ ├── event_sync_to_avalon.py │ │ │ │ ├── event_task_to_parent_status.py │ │ │ │ ├── event_task_to_version_status.py │ │ │ │ ├── event_thumbnail_updates.py │ │ │ │ ├── event_user_assigment.py │ │ │ │ └── event_version_to_task_statuses.py │ │ │ ├── event_handlers_user/ │ │ │ │ ├── action_applications.py │ │ │ │ ├── action_batch_task_creation.py │ │ │ │ ├── action_clean_hierarchical_attributes.py │ │ │ │ ├── action_client_review_sort.py │ │ │ │ ├── action_component_open.py │ │ │ │ ├── action_create_cust_attrs.py │ │ │ │ ├── action_create_folders.py │ │ │ │ ├── action_create_project_structure.py │ │ │ │ ├── action_delete_asset.py │ │ │ │ ├── action_delete_old_versions.py │ │ │ │ ├── action_delivery.py │ │ │ │ ├── action_djvview.py │ │ │ │ ├── action_fill_workfile_attr.py │ │ │ │ ├── action_job_killer.py │ │ │ │ ├── action_multiple_notes.py │ │ │ │ ├── action_prepare_project.py │ │ │ │ ├── action_rv.py │ │ │ │ ├── action_seed.py │ │ │ │ ├── action_store_thumbnails_to_avalon.py │ │ │ │ ├── action_sync_to_avalon.py │ │ │ │ ├── action_test.py │ │ │ │ ├── action_thumbnail_to_childern.py │ │ │ │ ├── action_thumbnail_to_parent.py │ │ │ │ └── action_where_run_ask.py │ │ │ ├── ftrack_module.py │ │ │ ├── ftrack_server/ │ │ │ │ ├── __init__.py │ │ │ │ ├── event_server_cli.py │ │ │ │ ├── ftrack_server.py │ │ │ │ ├── lib.py │ │ │ │ └── socket_thread.py │ │ │ ├── launch_hooks/ │ │ │ │ └── post_ftrack_changes.py │ │ │ ├── lib/ │ │ │ │ ├── __init__.py │ │ │ │ ├── avalon_sync.py │ │ │ │ ├── constants.py │ │ │ │ ├── credentials.py │ │ │ │ ├── custom_attributes.json │ │ │ │ ├── custom_attributes.py │ │ │ │ ├── ftrack_action_handler.py │ │ │ │ ├── ftrack_base_handler.py │ │ │ │ ├── ftrack_event_handler.py │ │ │ │ └── settings.py │ │ │ ├── plugins/ │ │ │ │ ├── _unused_publish/ │ │ │ │ │ └── integrate_ftrack_comments.py │ │ │ │ └── publish/ │ │ │ │ ├── collect_custom_attributes_data.py │ │ │ │ ├── collect_ftrack_api.py │ │ │ │ ├── collect_ftrack_family.py │ │ │ │ ├── collect_local_ftrack_creds.py │ │ │ │ ├── collect_username.py │ │ │ │ ├── integrate_ftrack_api.py │ │ │ │ ├── integrate_ftrack_component_overwrite.py │ │ │ │ ├── integrate_ftrack_description.py │ │ │ │ ├── integrate_ftrack_instances.py │ │ │ │ ├── integrate_ftrack_note.py │ │ │ │ ├── integrate_ftrack_status.py │ │ │ │ ├── integrate_hierarchy_ftrack.py │ │ │ │ └── validate_custom_ftrack_attributes.py │ │ │ ├── python2_vendor/ │ │ │ │ └── ftrack-python-api/ │ │ │ │ ├── .gitignore │ │ │ │ ├── LICENSE.python │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── MANIFEST.in │ │ │ │ ├── README.rst │ │ │ │ ├── bitbucket-pipelines.yml │ │ │ │ ├── doc/ │ │ │ │ │ ├── _static/ │ │ │ │ │ │ └── ftrack.css │ │ │ │ │ ├── api_reference/ │ │ │ │ │ │ ├── accessor/ │ │ │ │ │ │ │ ├── base.rst │ │ │ │ │ │ │ ├── disk.rst │ │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ │ └── server.rst │ │ │ │ │ │ ├── attribute.rst │ │ │ │ │ │ ├── cache.rst │ │ │ │ │ │ ├── collection.rst │ │ │ │ │ │ ├── entity/ │ │ │ │ │ │ │ ├── asset_version.rst │ │ │ │ │ │ │ ├── base.rst │ │ │ │ │ │ │ ├── component.rst │ │ │ │ │ │ │ ├── factory.rst │ │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ │ ├── job.rst │ │ │ │ │ │ │ ├── location.rst │ │ │ │ │ │ │ ├── note.rst │ │ │ │ │ │ │ ├── project_schema.rst │ │ │ │ │ │ │ └── user.rst │ │ │ │ │ │ ├── event/ │ │ │ │ │ │ │ ├── base.rst │ │ │ │ │ │ │ ├── expression.rst │ │ │ │ │ │ │ ├── hub.rst │ │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ │ ├── subscriber.rst │ │ │ │ │ │ │ └── subscription.rst │ │ │ │ │ │ ├── exception.rst │ │ │ │ │ │ ├── formatter.rst │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ ├── inspection.rst │ │ │ │ │ │ ├── logging.rst │ │ │ │ │ │ ├── operation.rst │ │ │ │ │ │ ├── plugin.rst │ │ │ │ │ │ ├── query.rst │ │ │ │ │ │ ├── resource_identifier_transformer/ │ │ │ │ │ │ │ ├── base.rst │ │ │ │ │ │ │ └── index.rst │ │ │ │ │ │ ├── session.rst │ │ │ │ │ │ ├── structure/ │ │ │ │ │ │ │ ├── base.rst │ │ │ │ │ │ │ ├── id.rst │ │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ │ ├── origin.rst │ │ │ │ │ │ │ └── standard.rst │ │ │ │ │ │ └── symbol.rst │ │ │ │ │ ├── caching.rst │ │ │ │ │ ├── conf.py │ │ │ │ │ ├── docutils.conf │ │ │ │ │ ├── environment_variables.rst │ │ │ │ │ ├── event_list.rst │ │ │ │ │ ├── example/ │ │ │ │ │ │ ├── assignments_and_allocations.rst │ │ │ │ │ │ ├── component.rst │ │ │ │ │ │ ├── custom_attribute.rst │ │ │ │ │ │ ├── encode_media.rst │ │ │ │ │ │ ├── entity_links.rst │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ ├── invite_user.rst │ │ │ │ │ │ ├── job.rst │ │ │ │ │ │ ├── link_attribute.rst │ │ │ │ │ │ ├── list.rst │ │ │ │ │ │ ├── manage_custom_attribute_configuration.rst │ │ │ │ │ │ ├── metadata.rst │ │ │ │ │ │ ├── note.rst │ │ │ │ │ │ ├── project.rst │ │ │ │ │ │ ├── publishing.rst │ │ │ │ │ │ ├── review_session.rst │ │ │ │ │ │ ├── scope.rst │ │ │ │ │ │ ├── security_roles.rst │ │ │ │ │ │ ├── sync_ldap_users.rst │ │ │ │ │ │ ├── task_template.rst │ │ │ │ │ │ ├── thumbnail.rst │ │ │ │ │ │ ├── timer.rst │ │ │ │ │ │ └── web_review.rst │ │ │ │ │ ├── glossary.rst │ │ │ │ │ ├── handling_events.rst │ │ │ │ │ ├── index.rst │ │ │ │ │ ├── installing.rst │ │ │ │ │ ├── introduction.rst │ │ │ │ │ ├── locations/ │ │ │ │ │ │ ├── configuring.rst │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ ├── overview.rst │ │ │ │ │ │ └── tutorial.rst │ │ │ │ │ ├── querying.rst │ │ │ │ │ ├── release/ │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ ├── migrating_from_old_api.rst │ │ │ │ │ │ ├── migration.rst │ │ │ │ │ │ └── release_notes.rst │ │ │ │ │ ├── resource/ │ │ │ │ │ │ ├── example_plugin.py │ │ │ │ │ │ ├── example_plugin_safe.py │ │ │ │ │ │ └── example_plugin_using_session.py │ │ │ │ │ ├── security_and_authentication.rst │ │ │ │ │ ├── tutorial.rst │ │ │ │ │ ├── understanding_sessions.rst │ │ │ │ │ └── working_with_entities.rst │ │ │ │ ├── pytest.ini │ │ │ │ ├── resource/ │ │ │ │ │ └── plugin/ │ │ │ │ │ ├── configure_locations.py │ │ │ │ │ └── construct_entity_type.py │ │ │ │ ├── setup.cfg │ │ │ │ ├── setup.py │ │ │ │ ├── source/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── ftrack_api/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _centralized_storage_scenario.py │ │ │ │ │ ├── _python_ntpath.py │ │ │ │ │ ├── _version.py │ │ │ │ │ ├── _weakref.py │ │ │ │ │ ├── accessor/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ ├── disk.py │ │ │ │ │ │ └── server.py │ │ │ │ │ ├── attribute.py │ │ │ │ │ ├── cache.py │ │ │ │ │ ├── collection.py │ │ │ │ │ ├── data.py │ │ │ │ │ ├── entity/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── asset_version.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ ├── component.py │ │ │ │ │ │ ├── factory.py │ │ │ │ │ │ ├── job.py │ │ │ │ │ │ ├── location.py │ │ │ │ │ │ ├── note.py │ │ │ │ │ │ ├── project_schema.py │ │ │ │ │ │ └── user.py │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ ├── expression.py │ │ │ │ │ │ ├── hub.py │ │ │ │ │ │ ├── subscriber.py │ │ │ │ │ │ └── subscription.py │ │ │ │ │ ├── exception.py │ │ │ │ │ ├── formatter.py │ │ │ │ │ ├── inspection.py │ │ │ │ │ ├── logging.py │ │ │ │ │ ├── operation.py │ │ │ │ │ ├── plugin.py │ │ │ │ │ ├── query.py │ │ │ │ │ ├── resource_identifier_transformer/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── base.py │ │ │ │ │ ├── session.py │ │ │ │ │ ├── structure/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── base.py │ │ │ │ │ │ ├── entity_id.py │ │ │ │ │ │ ├── id.py │ │ │ │ │ │ ├── origin.py │ │ │ │ │ │ └── standard.py │ │ │ │ │ └── symbol.py │ │ │ │ └── test/ │ │ │ │ ├── fixture/ │ │ │ │ │ └── plugin/ │ │ │ │ │ ├── configure_locations.py │ │ │ │ │ ├── construct_entity_type.py │ │ │ │ │ └── count_session_event.py │ │ │ │ └── unit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── accessor/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_disk.py │ │ │ │ │ └── test_server.py │ │ │ │ ├── conftest.py │ │ │ │ ├── entity/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_asset_version.py │ │ │ │ │ ├── test_base.py │ │ │ │ │ ├── test_component.py │ │ │ │ │ ├── test_factory.py │ │ │ │ │ ├── test_job.py │ │ │ │ │ ├── test_location.py │ │ │ │ │ ├── test_metadata.py │ │ │ │ │ ├── test_note.py │ │ │ │ │ ├── test_project_schema.py │ │ │ │ │ ├── test_scopes.py │ │ │ │ │ └── test_user.py │ │ │ │ ├── event/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── event_hub_server_heartbeat.py │ │ │ │ │ ├── test_base.py │ │ │ │ │ ├── test_expression.py │ │ │ │ │ ├── test_hub.py │ │ │ │ │ ├── test_subscriber.py │ │ │ │ │ └── test_subscription.py │ │ │ │ ├── resource_identifier_transformer/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_base.py │ │ │ │ ├── structure/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_base.py │ │ │ │ │ ├── test_entity_id.py │ │ │ │ │ ├── test_id.py │ │ │ │ │ ├── test_origin.py │ │ │ │ │ └── test_standard.py │ │ │ │ ├── test_attribute.py │ │ │ │ ├── test_cache.py │ │ │ │ ├── test_collection.py │ │ │ │ ├── test_custom_attribute.py │ │ │ │ ├── test_data.py │ │ │ │ ├── test_formatter.py │ │ │ │ ├── test_inspection.py │ │ │ │ ├── test_operation.py │ │ │ │ ├── test_package.py │ │ │ │ ├── test_plugin.py │ │ │ │ ├── test_query.py │ │ │ │ ├── test_session.py │ │ │ │ └── test_timer.py │ │ │ ├── scripts/ │ │ │ │ ├── sub_event_processor.py │ │ │ │ ├── sub_event_status.py │ │ │ │ ├── sub_event_storer.py │ │ │ │ ├── sub_legacy_server.py │ │ │ │ └── sub_user_server.py │ │ │ └── tray/ │ │ │ ├── __init__.py │ │ │ ├── ftrack_tray.py │ │ │ ├── login_dialog.py │ │ │ └── login_tools.py │ │ ├── interfaces.py │ │ ├── job_queue/ │ │ │ ├── __init__.py │ │ │ ├── job_server/ │ │ │ │ ├── __init__.py │ │ │ │ ├── job_queue_route.py │ │ │ │ ├── jobs.py │ │ │ │ ├── server.py │ │ │ │ ├── utils.py │ │ │ │ ├── workers.py │ │ │ │ └── workers_rpc_route.py │ │ │ ├── job_workers/ │ │ │ │ ├── __init__.py │ │ │ │ └── base_worker.py │ │ │ └── module.py │ │ ├── kitsu/ │ │ │ ├── __init__.py │ │ │ ├── actions/ │ │ │ │ └── launcher_show_in_kitsu.py │ │ │ ├── kitsu_module.py │ │ │ ├── kitsu_widgets.py │ │ │ ├── plugins/ │ │ │ │ └── publish/ │ │ │ │ ├── collect_kitsu_credential.py │ │ │ │ ├── collect_kitsu_entities.py │ │ │ │ ├── collect_kitsu_username.py │ │ │ │ ├── integrate_kitsu_note.py │ │ │ │ ├── integrate_kitsu_review.py │ │ │ │ └── other_kitsu_log_out.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── credentials.py │ │ │ ├── sync_service.py │ │ │ ├── update_op_with_zou.py │ │ │ └── update_zou_with_op.py │ │ ├── launcher_action.py │ │ ├── log_viewer/ │ │ │ ├── __init__.py │ │ │ ├── log_view_module.py │ │ │ └── tray/ │ │ │ ├── __init__.py │ │ │ ├── app.py │ │ │ ├── models.py │ │ │ └── widgets.py │ │ ├── project_manager_action.py │ │ ├── python_console_interpreter/ │ │ │ ├── __init__.py │ │ │ ├── module.py │ │ │ └── window/ │ │ │ ├── __init__.py │ │ │ └── widgets.py │ │ ├── royalrender/ │ │ │ ├── __init__.py │ │ │ ├── api.py │ │ │ ├── lib.py │ │ │ ├── plugins/ │ │ │ │ └── publish/ │ │ │ │ ├── collect_rr_path_from_instance.py │ │ │ │ ├── collect_sequences_from_job.py │ │ │ │ ├── create_maya_royalrender_job.py │ │ │ │ ├── create_nuke_royalrender_job.py │ │ │ │ ├── create_publish_royalrender_job.py │ │ │ │ └── submit_jobs_to_royalrender.py │ │ │ ├── royal_render_module.py │ │ │ ├── rr_job.py │ │ │ └── rr_root/ │ │ │ ├── README.md │ │ │ └── render_apps/ │ │ │ ├── _config/ │ │ │ │ ├── E05__Ayon__PublishJob.cfg │ │ │ │ └── E05__Ayon___global.inc │ │ │ ├── _install_paths/ │ │ │ │ └── Ayon.cfg │ │ │ └── _prepost_scripts/ │ │ │ ├── Ayon_ayon_inject_envvar.cfg │ │ │ └── ayon_inject_envvar.py │ │ ├── settings_action.py │ │ ├── shotgrid/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── lib/ │ │ │ │ ├── __init__.py │ │ │ │ ├── const.py │ │ │ │ ├── credentials.py │ │ │ │ ├── record.py │ │ │ │ └── settings.py │ │ │ ├── plugins/ │ │ │ │ └── publish/ │ │ │ │ ├── collect_shotgrid_entities.py │ │ │ │ ├── collect_shotgrid_session.py │ │ │ │ ├── integrate_shotgrid_publish.py │ │ │ │ ├── integrate_shotgrid_version.py │ │ │ │ └── validate_shotgrid_user.py │ │ │ ├── server/ │ │ │ │ └── README.md │ │ │ ├── shotgrid_module.py │ │ │ ├── tests/ │ │ │ │ └── shotgrid/ │ │ │ │ └── lib/ │ │ │ │ └── test_credentials.py │ │ │ └── tray/ │ │ │ ├── credential_dialog.py │ │ │ └── shotgrid_tray.py │ │ ├── slack/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── launch_hooks/ │ │ │ │ └── pre_python2_vendor.py │ │ │ ├── manifest.yml │ │ │ ├── plugins/ │ │ │ │ └── publish/ │ │ │ │ ├── collect_slack_family.py │ │ │ │ └── integrate_slack_api.py │ │ │ ├── python2_vendor/ │ │ │ │ └── python-slack-sdk-1/ │ │ │ │ ├── .appveyor.yml │ │ │ │ ├── .coveragerc │ │ │ │ ├── .flake8 │ │ │ │ ├── .github/ │ │ │ │ │ ├── contributing.md │ │ │ │ │ ├── issue_template.md │ │ │ │ │ ├── maintainers_guide.md │ │ │ │ │ └── pull_request_template.md │ │ │ │ ├── .gitignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── MANIFEST.in │ │ │ │ ├── README.rst │ │ │ │ ├── docs/ │ │ │ │ │ ├── .buildinfo │ │ │ │ │ ├── .nojekyll │ │ │ │ │ ├── _static/ │ │ │ │ │ │ ├── basic.css │ │ │ │ │ │ ├── classic.css │ │ │ │ │ │ ├── default.css │ │ │ │ │ │ ├── docs.css │ │ │ │ │ │ ├── doctools.js │ │ │ │ │ │ ├── documentation_options.js │ │ │ │ │ │ ├── jquery-3.2.1.js │ │ │ │ │ │ ├── jquery.js │ │ │ │ │ │ ├── language_data.js │ │ │ │ │ │ ├── pygments.css │ │ │ │ │ │ ├── searchtools.js │ │ │ │ │ │ ├── sidebar.js │ │ │ │ │ │ ├── underscore-1.3.1.js │ │ │ │ │ │ ├── underscore.js │ │ │ │ │ │ └── websupport.js │ │ │ │ │ ├── about.html │ │ │ │ │ ├── auth.html │ │ │ │ │ ├── basic_usage.html │ │ │ │ │ ├── changelog.html │ │ │ │ │ ├── conversations.html │ │ │ │ │ ├── faq.html │ │ │ │ │ ├── genindex.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── metadata.html │ │ │ │ │ ├── objects.inv │ │ │ │ │ ├── real_time_messaging.html │ │ │ │ │ ├── search.html │ │ │ │ │ └── searchindex.js │ │ │ │ ├── docs-src/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── _themes/ │ │ │ │ │ │ └── slack/ │ │ │ │ │ │ ├── conf.py │ │ │ │ │ │ ├── layout.html │ │ │ │ │ │ ├── localtoc.html │ │ │ │ │ │ ├── relations.html │ │ │ │ │ │ ├── sidebar.html │ │ │ │ │ │ ├── static/ │ │ │ │ │ │ │ ├── default.css_t │ │ │ │ │ │ │ ├── docs.css_t │ │ │ │ │ │ │ └── pygments.css_t │ │ │ │ │ │ └── theme.conf │ │ │ │ │ ├── about.rst │ │ │ │ │ ├── auth.rst │ │ │ │ │ ├── basic_usage.rst │ │ │ │ │ ├── changelog.rst │ │ │ │ │ ├── conf.py │ │ │ │ │ ├── conversations.rst │ │ │ │ │ ├── faq.rst │ │ │ │ │ ├── index.rst │ │ │ │ │ ├── make.bat │ │ │ │ │ ├── metadata.rst │ │ │ │ │ └── real_time_messaging.rst │ │ │ │ ├── docs.sh │ │ │ │ ├── requirements.txt │ │ │ │ ├── setup.cfg │ │ │ │ ├── setup.py │ │ │ │ ├── slackclient/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── channel.py │ │ │ │ │ ├── client.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── im.py │ │ │ │ │ ├── server.py │ │ │ │ │ ├── slackrequest.py │ │ │ │ │ ├── user.py │ │ │ │ │ ├── util.py │ │ │ │ │ └── version.py │ │ │ │ ├── test_requirements.txt │ │ │ │ ├── tests/ │ │ │ │ │ ├── conftest.py │ │ │ │ │ ├── data/ │ │ │ │ │ │ ├── channel.created.json │ │ │ │ │ │ ├── im.created.json │ │ │ │ │ │ └── rtm.start.json │ │ │ │ │ ├── test_channel.py │ │ │ │ │ ├── test_server.py │ │ │ │ │ ├── test_slackclient.py │ │ │ │ │ └── test_slackrequest.py │ │ │ │ └── tox.ini │ │ │ └── slack_module.py │ │ ├── sync_server/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── launch_hooks/ │ │ │ │ └── pre_copy_last_published_workfile.py │ │ │ ├── plugins/ │ │ │ │ └── load/ │ │ │ │ ├── add_site.py │ │ │ │ └── remove_site.py │ │ │ ├── providers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abstract_provider.py │ │ │ │ ├── dropbox.py │ │ │ │ ├── gdrive.py │ │ │ │ ├── lib.py │ │ │ │ ├── local_drive.py │ │ │ │ └── sftp.py │ │ │ ├── rest_api.py │ │ │ ├── sync_server.py │ │ │ ├── sync_server_module.py │ │ │ ├── tray/ │ │ │ │ ├── app.py │ │ │ │ ├── delegates.py │ │ │ │ ├── lib.py │ │ │ │ ├── models.py │ │ │ │ └── widgets.py │ │ │ └── utils.py │ │ ├── timers_manager/ │ │ │ ├── __init__.py │ │ │ ├── exceptions.py │ │ │ ├── idle_threads.py │ │ │ ├── launch_hooks/ │ │ │ │ └── post_start_timer.py │ │ │ ├── plugins/ │ │ │ │ └── publish/ │ │ │ │ ├── start_timer.py │ │ │ │ └── stop_timer.py │ │ │ ├── rest_api.py │ │ │ ├── timers_manager.py │ │ │ └── widget_user_idle.py │ │ └── webserver/ │ │ ├── __init__.py │ │ ├── base_routes.py │ │ ├── cors_middleware.py │ │ ├── host_console_listener.py │ │ ├── server.py │ │ └── webserver_module.py │ ├── pipeline/ │ │ ├── __init__.py │ │ ├── actions.py │ │ ├── anatomy.py │ │ ├── colorspace.py │ │ ├── constants.py │ │ ├── context_tools.py │ │ ├── create/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── context.py │ │ │ ├── creator_plugins.py │ │ │ ├── legacy_create.py │ │ │ ├── subset_name.py │ │ │ └── utils.py │ │ ├── delivery.py │ │ ├── editorial.py │ │ ├── farm/ │ │ │ ├── __init__.py │ │ │ ├── patterning.py │ │ │ ├── pyblish_functions.py │ │ │ ├── pyblish_functions.pyi │ │ │ └── tools.py │ │ ├── legacy_io.py │ │ ├── load/ │ │ │ ├── __init__.py │ │ │ ├── plugins.py │ │ │ └── utils.py │ │ ├── mongodb.py │ │ ├── plugin_discover.py │ │ ├── project_folders.py │ │ ├── publish/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── abstract_collect_render.py │ │ │ ├── abstract_expected_files.py │ │ │ ├── constants.py │ │ │ ├── lib.py │ │ │ └── publish_plugins.py │ │ ├── schema/ │ │ │ ├── __init__.py │ │ │ ├── application-1.0.json │ │ │ ├── asset-1.0.json │ │ │ ├── asset-2.0.json │ │ │ ├── asset-3.0.json │ │ │ ├── config-1.0.json │ │ │ ├── config-1.1.json │ │ │ ├── config-2.0.json │ │ │ ├── container-1.0.json │ │ │ ├── container-2.0.json │ │ │ ├── hero_version-1.0.json │ │ │ ├── inventory-1.0.json │ │ │ ├── inventory-1.1.json │ │ │ ├── project-2.0.json │ │ │ ├── project-2.1.json │ │ │ ├── project-3.0.json │ │ │ ├── representation-1.0.json │ │ │ ├── representation-2.0.json │ │ │ ├── session-1.0.json │ │ │ ├── session-2.0.json │ │ │ ├── session-3.0.json │ │ │ ├── session-4.0.json │ │ │ ├── shaders-1.0.json │ │ │ ├── subset-1.0.json │ │ │ ├── subset-2.0.json │ │ │ ├── subset-3.0.json │ │ │ ├── thumbnail-1.0.json │ │ │ ├── version-1.0.json │ │ │ ├── version-2.0.json │ │ │ ├── version-3.0.json │ │ │ └── workfile-1.0.json │ │ ├── tempdir.py │ │ ├── template_data.py │ │ ├── thumbnail.py │ │ ├── version_start.py │ │ └── workfile/ │ │ ├── __init__.py │ │ ├── build_workfile.py │ │ ├── lock_workfile.py │ │ ├── path_resolving.py │ │ └── workfile_template_builder.py │ ├── plugins/ │ │ ├── actions/ │ │ │ └── open_file_explorer.py │ │ ├── inventory/ │ │ │ └── remove_and_load.py │ │ ├── load/ │ │ │ ├── copy_file.py │ │ │ ├── copy_file_path.py │ │ │ ├── delete_old_versions.py │ │ │ ├── delivery.py │ │ │ ├── open_djv.py │ │ │ ├── open_file.py │ │ │ └── push_to_library.py │ │ └── publish/ │ │ ├── cleanup.py │ │ ├── cleanup_explicit.py │ │ ├── cleanup_farm.py │ │ ├── collect_anatomy_context_data.py │ │ ├── collect_anatomy_instance_data.py │ │ ├── collect_anatomy_object.py │ │ ├── collect_audio.py │ │ ├── collect_cleanup_keys.py │ │ ├── collect_comment.py │ │ ├── collect_context_entities.py │ │ ├── collect_context_label.py │ │ ├── collect_current_context.py │ │ ├── collect_current_pype_user.py │ │ ├── collect_current_shell_file.py │ │ ├── collect_custom_staging_dir.py │ │ ├── collect_datetime_data.py │ │ ├── collect_farm_target.py │ │ ├── collect_frames_fix.py │ │ ├── collect_from_create_context.py │ │ ├── collect_hierarchy.py │ │ ├── collect_host_name.py │ │ ├── collect_input_representations_to_versions.py │ │ ├── collect_machine_name.py │ │ ├── collect_modules.py │ │ ├── collect_otio_frame_ranges.py │ │ ├── collect_otio_review.py │ │ ├── collect_otio_subset_resources.py │ │ ├── collect_rendered_files.py │ │ ├── collect_resources_path.py │ │ ├── collect_scene_loaded_versions.py │ │ ├── collect_scene_version.py │ │ ├── collect_settings.py │ │ ├── collect_shell_workspace.py │ │ ├── collect_source_for_source.py │ │ ├── collect_time.py │ │ ├── extract_burnin.py │ │ ├── extract_color_transcode.py │ │ ├── extract_colorspace_data.py │ │ ├── extract_hierarchy_avalon.py │ │ ├── extract_hierarchy_to_ayon.py │ │ ├── extract_otio_audio_tracks.py │ │ ├── extract_otio_file.py │ │ ├── extract_otio_review.py │ │ ├── extract_otio_trimming_video.py │ │ ├── extract_review.py │ │ ├── extract_review_slate.py │ │ ├── extract_scanline_exr.py │ │ ├── extract_thumbnail.py │ │ ├── extract_thumbnail_from_source.py │ │ ├── extract_trim_video_audio.py │ │ ├── help/ │ │ │ ├── validate_containers.xml │ │ │ ├── validate_publish_dir.xml │ │ │ └── validate_unique_subsets.xml │ │ ├── integrate.py │ │ ├── integrate_hero_version.py │ │ ├── integrate_inputlinks.py │ │ ├── integrate_inputlinks_ayon.py │ │ ├── integrate_resources_path.py │ │ ├── integrate_subset_group.py │ │ ├── integrate_thumbnail.py │ │ ├── integrate_thumbnail_ayon.py │ │ ├── integrate_version_attrs.py │ │ ├── preintegrate_thumbnail_representation.py │ │ ├── repair_unicode_strings.py │ │ ├── validate_asset_docs.py │ │ ├── validate_containers.py │ │ ├── validate_editorial_asset_name.py │ │ ├── validate_file_saved.py │ │ ├── validate_filesequences.py │ │ ├── validate_intent.py │ │ ├── validate_publish_dir.py │ │ ├── validate_resources.py │ │ ├── validate_unique_subsets.py │ │ └── validate_version.py │ ├── pype_commands.py │ ├── resources/ │ │ ├── __init__.py │ │ ├── fonts/ │ │ │ └── LiberationSans/ │ │ │ └── License.txt │ │ └── ftrack/ │ │ └── sign_in_message.html │ ├── scripts/ │ │ ├── __init__.py │ │ ├── non_python_host_launch.py │ │ ├── ocio_wrapper.py │ │ ├── otio_burnin.py │ │ ├── remote_publish.py │ │ └── slates/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ └── slate_base/ │ │ ├── __init__.py │ │ ├── api.py │ │ ├── base.py │ │ ├── default_style.json │ │ ├── example.py │ │ ├── font_factory.py │ │ ├── items.py │ │ ├── layer.py │ │ ├── lib.py │ │ └── main_frame.py │ ├── settings/ │ │ ├── __init__.py │ │ ├── ayon_settings.py │ │ ├── constants.py │ │ ├── defaults/ │ │ │ ├── project_anatomy/ │ │ │ │ ├── attributes.json │ │ │ │ ├── imageio.json │ │ │ │ ├── roots.json │ │ │ │ ├── tasks.json │ │ │ │ └── templates.json │ │ │ ├── project_settings/ │ │ │ │ ├── aftereffects.json │ │ │ │ ├── applications.json │ │ │ │ ├── blender.json │ │ │ │ ├── celaction.json │ │ │ │ ├── deadline.json │ │ │ │ ├── equalizer.json │ │ │ │ ├── flame.json │ │ │ │ ├── ftrack.json │ │ │ │ ├── fusion.json │ │ │ │ ├── global.json │ │ │ │ ├── harmony.json │ │ │ │ ├── hiero.json │ │ │ │ ├── houdini.json │ │ │ │ ├── kitsu.json │ │ │ │ ├── max.json │ │ │ │ ├── maya.json │ │ │ │ ├── nuke.json │ │ │ │ ├── photoshop.json │ │ │ │ ├── resolve.json │ │ │ │ ├── royalrender.json │ │ │ │ ├── shotgrid.json │ │ │ │ ├── slack.json │ │ │ │ ├── standalonepublisher.json │ │ │ │ ├── substancepainter.json │ │ │ │ ├── traypublisher.json │ │ │ │ ├── tvpaint.json │ │ │ │ ├── unreal.json │ │ │ │ └── webpublisher.json │ │ │ └── system_settings/ │ │ │ ├── applications.json │ │ │ ├── general.json │ │ │ ├── modules.json │ │ │ └── tools.json │ │ ├── entities/ │ │ │ ├── __init__.py │ │ │ ├── anatomy_entities.py │ │ │ ├── base_entity.py │ │ │ ├── color_entity.py │ │ │ ├── dict_conditional.py │ │ │ ├── dict_immutable_keys_entity.py │ │ │ ├── dict_mutable_keys_entity.py │ │ │ ├── enum_entity.py │ │ │ ├── exceptions.py │ │ │ ├── input_entities.py │ │ │ ├── item_entities.py │ │ │ ├── lib.py │ │ │ ├── list_entity.py │ │ │ ├── op_version_entity.py │ │ │ ├── root_entities.py │ │ │ └── schemas/ │ │ │ ├── README.md │ │ │ ├── projects_schema/ │ │ │ │ ├── schema_main.json │ │ │ │ ├── schema_project_aftereffects.json │ │ │ │ ├── schema_project_applications.json │ │ │ │ ├── schema_project_blender.json │ │ │ │ ├── schema_project_celaction.json │ │ │ │ ├── schema_project_deadline.json │ │ │ │ ├── schema_project_equalizer.json │ │ │ │ ├── schema_project_flame.json │ │ │ │ ├── schema_project_ftrack.json │ │ │ │ ├── schema_project_fusion.json │ │ │ │ ├── schema_project_global.json │ │ │ │ ├── schema_project_harmony.json │ │ │ │ ├── schema_project_hiero.json │ │ │ │ ├── schema_project_houdini.json │ │ │ │ ├── schema_project_kitsu.json │ │ │ │ ├── schema_project_max.json │ │ │ │ ├── schema_project_maya.json │ │ │ │ ├── schema_project_nuke.json │ │ │ │ ├── schema_project_photoshop.json │ │ │ │ ├── schema_project_resolve.json │ │ │ │ ├── schema_project_royalrender.json │ │ │ │ ├── schema_project_shotgrid.json │ │ │ │ ├── schema_project_slack.json │ │ │ │ ├── schema_project_standalonepublisher.json │ │ │ │ ├── schema_project_substancepainter.json │ │ │ │ ├── schema_project_syncserver.json │ │ │ │ ├── schema_project_traypublisher.json │ │ │ │ ├── schema_project_tvpaint.json │ │ │ │ ├── schema_project_unreal.json │ │ │ │ ├── schema_project_webpublisher.json │ │ │ │ └── schemas/ │ │ │ │ ├── schema_anatomy_attributes.json │ │ │ │ ├── schema_anatomy_imageio.json │ │ │ │ ├── schema_anatomy_templates.json │ │ │ │ ├── schema_blender_publish.json │ │ │ │ ├── schema_equalizer_create.json │ │ │ │ ├── schema_global_publish.json │ │ │ │ ├── schema_global_tools.json │ │ │ │ ├── schema_houdini_create.json │ │ │ │ ├── schema_houdini_general.json │ │ │ │ ├── schema_houdini_publish.json │ │ │ │ ├── schema_houdini_scriptshelf.json │ │ │ │ ├── schema_max_publish.json │ │ │ │ ├── schema_maya_capture.json │ │ │ │ ├── schema_maya_create.json │ │ │ │ ├── schema_maya_load.json │ │ │ │ ├── schema_maya_publish.json │ │ │ │ ├── schema_maya_render_settings.json │ │ │ │ ├── schema_nuke_imageio.json │ │ │ │ ├── schema_nuke_load.json │ │ │ │ ├── schema_nuke_publish.json │ │ │ │ ├── schema_nuke_scriptsgizmo.json │ │ │ │ ├── schema_publish_gui_filter.json │ │ │ │ ├── schema_representation_tags.json │ │ │ │ ├── schema_scriptsmenu.json │ │ │ │ ├── schema_templated_workfile_build.json │ │ │ │ ├── schema_workfile_build.json │ │ │ │ ├── template_colorspace_remapping.json │ │ │ │ ├── template_create_plugin.json │ │ │ │ ├── template_host_color_management_derived.json │ │ │ │ ├── template_host_color_management_ocio.json │ │ │ │ ├── template_host_color_management_remapped.json │ │ │ │ ├── template_imageio_config.json │ │ │ │ ├── template_imageio_file_rules.json │ │ │ │ ├── template_loader_plugin_nuke.json │ │ │ │ ├── template_nuke_knob_inputs.json │ │ │ │ ├── template_nuke_write_attrs.json │ │ │ │ ├── template_publish_families.json │ │ │ │ ├── template_publish_plugin.json │ │ │ │ ├── template_validate_plugin.json │ │ │ │ ├── template_workfile_builder_simple.json │ │ │ │ └── template_workfile_options.json │ │ │ └── system_schema/ │ │ │ ├── example_infinite_hierarchy.json │ │ │ ├── example_schema.json │ │ │ ├── example_template.json │ │ │ ├── host_settings/ │ │ │ │ ├── schema_3dequalizer.json │ │ │ │ ├── schema_3dsmax.json │ │ │ │ ├── schema_aftereffects.json │ │ │ │ ├── schema_blender.json │ │ │ │ ├── schema_celaction.json │ │ │ │ ├── schema_djv.json │ │ │ │ ├── schema_flame.json │ │ │ │ ├── schema_fusion.json │ │ │ │ ├── schema_harmony.json │ │ │ │ ├── schema_houdini.json │ │ │ │ ├── schema_maya.json │ │ │ │ ├── schema_mayapy.json │ │ │ │ ├── schema_photoshop.json │ │ │ │ ├── schema_resolve.json │ │ │ │ ├── schema_substancepainter.json │ │ │ │ ├── schema_tvpaint.json │ │ │ │ ├── schema_unreal.json │ │ │ │ ├── template_host_unchangables.json │ │ │ │ ├── template_host_variant.json │ │ │ │ ├── template_host_variant_items.json │ │ │ │ └── template_nuke.json │ │ │ ├── module_settings/ │ │ │ │ ├── schema_ftrack.json │ │ │ │ ├── schema_kitsu.json │ │ │ │ └── template_custom_attribute.json │ │ │ ├── schema_applications.json │ │ │ ├── schema_general.json │ │ │ ├── schema_main.json │ │ │ ├── schema_modules.json │ │ │ └── schema_tools.json │ │ ├── exceptions.py │ │ ├── handlers.py │ │ ├── lib.py │ │ └── local_settings.md │ ├── style/ │ │ ├── __init__.py │ │ ├── color_defs.py │ │ ├── data.json │ │ ├── fonts/ │ │ │ ├── Noto_Sans/ │ │ │ │ └── OFL.txt │ │ │ └── Noto_Sans_Mono/ │ │ │ ├── OFL.txt │ │ │ └── README.txt │ │ ├── pyqt5_resources.py │ │ ├── pyside2_resources.py │ │ ├── pyside6_resources.py │ │ ├── qrc_resources.py │ │ ├── resources.qrc │ │ └── style.css │ ├── tests/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── lib.py │ │ ├── mongo_performance.py │ │ ├── test_avalon_plugin_presets.py │ │ ├── test_lib_restructuralization.py │ │ └── test_pyblish_filter.py │ ├── tools/ │ │ ├── __init__.py │ │ ├── adobe_webserver/ │ │ │ ├── app.py │ │ │ └── readme.txt │ │ ├── assetlinks/ │ │ │ ├── __init__.py │ │ │ └── widgets.py │ │ ├── attribute_defs/ │ │ │ ├── __init__.py │ │ │ ├── dialog.py │ │ │ ├── files_widget.py │ │ │ └── widgets.py │ │ ├── ayon_launcher/ │ │ │ ├── abstract.py │ │ │ ├── control.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── actions.py │ │ │ │ └── selection.py │ │ │ └── ui/ │ │ │ ├── __init__.py │ │ │ ├── actions_widget.py │ │ │ ├── hierarchy_page.py │ │ │ ├── projects_widget.py │ │ │ ├── resources/ │ │ │ │ └── __init__.py │ │ │ └── window.py │ │ ├── ayon_loader/ │ │ │ ├── __init__.py │ │ │ ├── abstract.py │ │ │ ├── control.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── actions.py │ │ │ │ ├── products.py │ │ │ │ ├── selection.py │ │ │ │ └── site_sync.py │ │ │ └── ui/ │ │ │ ├── __init__.py │ │ │ ├── actions_utils.py │ │ │ ├── folders_widget.py │ │ │ ├── info_widget.py │ │ │ ├── product_group_dialog.py │ │ │ ├── product_types_widget.py │ │ │ ├── products_delegates.py │ │ │ ├── products_model.py │ │ │ ├── products_widget.py │ │ │ ├── repres_widget.py │ │ │ └── window.py │ │ ├── ayon_push_to_project/ │ │ │ ├── __init__.py │ │ │ ├── control.py │ │ │ ├── main.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── integrate.py │ │ │ │ ├── selection.py │ │ │ │ └── user_values.py │ │ │ └── ui/ │ │ │ ├── __init__.py │ │ │ └── window.py │ │ ├── ayon_sceneinventory/ │ │ │ ├── __init__.py │ │ │ ├── control.py │ │ │ ├── model.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ └── site_sync.py │ │ │ ├── switch_dialog/ │ │ │ │ ├── __init__.py │ │ │ │ ├── dialog.py │ │ │ │ ├── folders_input.py │ │ │ │ └── widgets.py │ │ │ ├── view.py │ │ │ └── window.py │ │ ├── ayon_utils/ │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cache.py │ │ │ │ ├── hierarchy.py │ │ │ │ ├── projects.py │ │ │ │ ├── selection.py │ │ │ │ └── thumbnails.py │ │ │ └── widgets/ │ │ │ ├── __init__.py │ │ │ ├── folders_widget.py │ │ │ ├── projects_widget.py │ │ │ ├── tasks_widget.py │ │ │ └── utils.py │ │ ├── ayon_workfiles/ │ │ │ ├── __init__.py │ │ │ ├── abstract.py │ │ │ ├── control.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ ├── selection.py │ │ │ │ └── workfiles.py │ │ │ └── widgets/ │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── files_widget.py │ │ │ ├── files_widget_published.py │ │ │ ├── files_widget_workarea.py │ │ │ ├── save_as_dialog.py │ │ │ ├── side_panel.py │ │ │ ├── utils.py │ │ │ └── window.py │ │ ├── context_dialog/ │ │ │ ├── __init__.py │ │ │ ├── _ayon_window.py │ │ │ └── _openpype_window.py │ │ ├── creator/ │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── model.py │ │ │ ├── widgets.py │ │ │ └── window.py │ │ ├── experimental_tools/ │ │ │ ├── __init__.py │ │ │ ├── dialog.py │ │ │ └── tools_def.py │ │ ├── flickcharm.py │ │ ├── launcher/ │ │ │ ├── __init__.py │ │ │ ├── actions.py │ │ │ ├── constants.py │ │ │ ├── delegates.py │ │ │ ├── lib.py │ │ │ ├── models.py │ │ │ ├── widgets.py │ │ │ └── window.py │ │ ├── libraryloader/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ └── app.py │ │ ├── loader/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── app.py │ │ │ ├── delegates.py │ │ │ ├── lib.py │ │ │ ├── model.py │ │ │ └── widgets.py │ │ ├── project_manager/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ └── project_manager/ │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── delegates.py │ │ │ ├── model.py │ │ │ ├── multiselection_combobox.py │ │ │ ├── style.py │ │ │ ├── view.py │ │ │ ├── widgets.py │ │ │ └── window.py │ │ ├── publisher/ │ │ │ ├── __init__.py │ │ │ ├── app.py │ │ │ ├── constants.py │ │ │ ├── control.py │ │ │ ├── control_qt.py │ │ │ ├── publish_report_viewer/ │ │ │ │ ├── __init__.py │ │ │ │ ├── constants.py │ │ │ │ ├── delegates.py │ │ │ │ ├── model.py │ │ │ │ ├── report_items.py │ │ │ │ ├── widgets.py │ │ │ │ └── window.py │ │ │ ├── widgets/ │ │ │ │ ├── __init__.py │ │ │ │ ├── assets_widget.py │ │ │ │ ├── border_label_widget.py │ │ │ │ ├── card_view_widgets.py │ │ │ │ ├── create_widget.py │ │ │ │ ├── help_widget.py │ │ │ │ ├── icons.py │ │ │ │ ├── list_view_widgets.py │ │ │ │ ├── overview_widget.py │ │ │ │ ├── precreate_widget.py │ │ │ │ ├── publish_frame.py │ │ │ │ ├── report_page.py │ │ │ │ ├── screenshot_widget.py │ │ │ │ ├── tabs_widget.py │ │ │ │ ├── tasks_widget.py │ │ │ │ ├── thumbnail_widget.py │ │ │ │ └── widgets.py │ │ │ └── window.py │ │ ├── push_to_project/ │ │ │ ├── __init__.py │ │ │ ├── app.py │ │ │ ├── control_context.py │ │ │ ├── control_integrate.py │ │ │ └── window.py │ │ ├── pyblish_pype/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── app.css │ │ │ ├── app.py │ │ │ ├── awesome.py │ │ │ ├── constants.py │ │ │ ├── control.py │ │ │ ├── delegate.py │ │ │ ├── font/ │ │ │ │ └── opensans/ │ │ │ │ └── LICENSE.txt │ │ │ ├── i18n/ │ │ │ │ ├── pyblish_lite.pro │ │ │ │ ├── zh_CN.qm │ │ │ │ └── zh_CN.ts │ │ │ ├── mock.py │ │ │ ├── model.py │ │ │ ├── settings.py │ │ │ ├── util.py │ │ │ ├── vendor/ │ │ │ │ ├── __init__.py │ │ │ │ └── qtawesome/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _version.py │ │ │ │ ├── animation.py │ │ │ │ ├── fonts/ │ │ │ │ │ ├── elusiveicons-webfont-charmap.json │ │ │ │ │ └── fontawesome-webfont-charmap.json │ │ │ │ └── iconic_font.py │ │ │ ├── version.py │ │ │ ├── view.py │ │ │ ├── widgets.py │ │ │ └── window.py │ │ ├── repack_version.py │ │ ├── resources/ │ │ │ └── __init__.py │ │ ├── sceneinventory/ │ │ │ ├── __init__.py │ │ │ ├── lib.py │ │ │ ├── model.py │ │ │ ├── switch_dialog.py │ │ │ ├── view.py │ │ │ ├── widgets.py │ │ │ └── window.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── lib.py │ │ │ ├── local_settings/ │ │ │ │ ├── __init__.py │ │ │ │ ├── apps_widget.py │ │ │ │ ├── constants.py │ │ │ │ ├── environments_widget.py │ │ │ │ ├── experimental_widget.py │ │ │ │ ├── general_widget.py │ │ │ │ ├── mongo_widget.py │ │ │ │ ├── projects_widget.py │ │ │ │ ├── widgets.py │ │ │ │ └── window.py │ │ │ ├── resources/ │ │ │ │ └── __init__.py │ │ │ └── settings/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── breadcrumbs_widget.py │ │ │ ├── categories.py │ │ │ ├── color_widget.py │ │ │ ├── constants.py │ │ │ ├── dialogs.py │ │ │ ├── dict_conditional.py │ │ │ ├── dict_mutable_widget.py │ │ │ ├── images/ │ │ │ │ └── __init__.py │ │ │ ├── item_widgets.py │ │ │ ├── lib.py │ │ │ ├── list_item_widget.py │ │ │ ├── list_strict_widget.py │ │ │ ├── search_dialog.py │ │ │ ├── tests.py │ │ │ ├── widgets.py │ │ │ ├── window.py │ │ │ └── wrapper_widgets.py │ │ ├── standalonepublish/ │ │ │ ├── __init__.py │ │ │ ├── app.py │ │ │ ├── publish.py │ │ │ └── widgets/ │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── model_asset.py │ │ │ ├── model_filter_proxy_exact_match.py │ │ │ ├── model_filter_proxy_recursive_sort.py │ │ │ ├── model_node.py │ │ │ ├── model_tasks_template.py │ │ │ ├── model_tree.py │ │ │ ├── model_tree_view_deselectable.py │ │ │ ├── resources/ │ │ │ │ └── __init__.py │ │ │ ├── widget_asset.py │ │ │ ├── widget_component_item.py │ │ │ ├── widget_components.py │ │ │ ├── widget_components_list.py │ │ │ ├── widget_drop_empty.py │ │ │ ├── widget_drop_frame.py │ │ │ ├── widget_family.py │ │ │ ├── widget_family_desc.py │ │ │ └── widget_shadow.py │ │ ├── stdout_broker/ │ │ │ ├── __init__.py │ │ │ ├── app.py │ │ │ └── window.py │ │ ├── subsetmanager/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── model.py │ │ │ ├── widgets.py │ │ │ └── window.py │ │ ├── texture_copy/ │ │ │ └── app.py │ │ ├── tray/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── pype_info_widget.py │ │ │ └── pype_tray.py │ │ ├── traypublisher/ │ │ │ ├── __init__.py │ │ │ └── window.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ ├── assets_widget.py │ │ │ ├── constants.py │ │ │ ├── delegates.py │ │ │ ├── error_dialog.py │ │ │ ├── host_tools.py │ │ │ ├── images/ │ │ │ │ └── __init__.py │ │ │ ├── layouts.py │ │ │ ├── lib.py │ │ │ ├── models.py │ │ │ ├── multiselection_combobox.py │ │ │ ├── overlay_messages.py │ │ │ ├── tasks_widget.py │ │ │ ├── thumbnail_paint_widget.py │ │ │ ├── views.py │ │ │ └── widgets.py │ │ ├── workfile_template_build/ │ │ │ ├── __init__.py │ │ │ └── window.py │ │ └── workfiles/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── files_widget.py │ │ ├── lock_dialog.py │ │ ├── model.py │ │ ├── save_as_dialog.py │ │ └── window.py │ ├── vendor/ │ │ ├── __init__.py │ │ └── python/ │ │ ├── common/ │ │ │ ├── README.md │ │ │ ├── ayon_api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _api.py │ │ │ │ ├── constants.py │ │ │ │ ├── entity_hub.py │ │ │ │ ├── events.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── graphql.py │ │ │ │ ├── graphql_queries.py │ │ │ │ ├── operations.py │ │ │ │ ├── server_api.py │ │ │ │ ├── utils.py │ │ │ │ └── version.py │ │ │ ├── capture.py │ │ │ ├── pysync.py │ │ │ ├── qargparse.py │ │ │ └── scriptsmenu/ │ │ │ ├── __init__.py │ │ │ ├── action.py │ │ │ ├── launchformari.py │ │ │ ├── launchformaya.py │ │ │ ├── launchfornuke.py │ │ │ ├── scriptsmenu.py │ │ │ └── version.py │ │ ├── python_2/ │ │ │ ├── README.md │ │ │ ├── arrow/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _version.py │ │ │ │ ├── api.py │ │ │ │ ├── arrow.py │ │ │ │ ├── constants.py │ │ │ │ ├── factory.py │ │ │ │ ├── formatter.py │ │ │ │ ├── locales.py │ │ │ │ ├── parser.py │ │ │ │ └── util.py │ │ │ ├── attr/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __init__.pyi │ │ │ │ ├── _cmp.py │ │ │ │ ├── _cmp.pyi │ │ │ │ ├── _compat.py │ │ │ │ ├── _config.py │ │ │ │ ├── _funcs.py │ │ │ │ ├── _make.py │ │ │ │ ├── _next_gen.py │ │ │ │ ├── _version_info.py │ │ │ │ ├── _version_info.pyi │ │ │ │ ├── converters.py │ │ │ │ ├── converters.pyi │ │ │ │ ├── exceptions.py │ │ │ │ ├── exceptions.pyi │ │ │ │ ├── filters.py │ │ │ │ ├── filters.pyi │ │ │ │ ├── py.typed │ │ │ │ ├── setters.py │ │ │ │ ├── setters.pyi │ │ │ │ ├── validators.py │ │ │ │ └── validators.pyi │ │ │ ├── attrs/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __init__.pyi │ │ │ │ ├── converters.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── filters.py │ │ │ │ ├── py.typed │ │ │ │ ├── setters.py │ │ │ │ └── validators.py │ │ │ ├── backports/ │ │ │ │ ├── __init__.py │ │ │ │ ├── configparser/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── helpers.py │ │ │ │ └── functools_lru_cache.py │ │ │ ├── builtins/ │ │ │ │ └── __init__.py │ │ │ ├── certifi/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── cacert.pem │ │ │ │ └── core.py │ │ │ ├── chardet/ │ │ │ │ ├── __init__.py │ │ │ │ ├── big5freq.py │ │ │ │ ├── big5prober.py │ │ │ │ ├── chardistribution.py │ │ │ │ ├── charsetgroupprober.py │ │ │ │ ├── charsetprober.py │ │ │ │ ├── cli/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── chardetect.py │ │ │ │ ├── codingstatemachine.py │ │ │ │ ├── compat.py │ │ │ │ ├── cp949prober.py │ │ │ │ ├── enums.py │ │ │ │ ├── escprober.py │ │ │ │ ├── escsm.py │ │ │ │ ├── eucjpprober.py │ │ │ │ ├── euckrfreq.py │ │ │ │ ├── euckrprober.py │ │ │ │ ├── euctwfreq.py │ │ │ │ ├── euctwprober.py │ │ │ │ ├── gb2312freq.py │ │ │ │ ├── gb2312prober.py │ │ │ │ ├── hebrewprober.py │ │ │ │ ├── jisfreq.py │ │ │ │ ├── jpcntx.py │ │ │ │ ├── langbulgarianmodel.py │ │ │ │ ├── langgreekmodel.py │ │ │ │ ├── langhebrewmodel.py │ │ │ │ ├── langhungarianmodel.py │ │ │ │ ├── langrussianmodel.py │ │ │ │ ├── langthaimodel.py │ │ │ │ ├── langturkishmodel.py │ │ │ │ ├── latin1prober.py │ │ │ │ ├── mbcharsetprober.py │ │ │ │ ├── mbcsgroupprober.py │ │ │ │ ├── mbcssm.py │ │ │ │ ├── metadata/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── languages.py │ │ │ │ ├── sbcharsetprober.py │ │ │ │ ├── sbcsgroupprober.py │ │ │ │ ├── sjisprober.py │ │ │ │ ├── universaldetector.py │ │ │ │ ├── utf8prober.py │ │ │ │ └── version.py │ │ │ ├── charset_normalizer.py │ │ │ ├── click/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _bashcomplete.py │ │ │ │ ├── _compat.py │ │ │ │ ├── _termui_impl.py │ │ │ │ ├── _textwrap.py │ │ │ │ ├── _unicodefun.py │ │ │ │ ├── _winconsole.py │ │ │ │ ├── core.py │ │ │ │ ├── decorators.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── formatting.py │ │ │ │ ├── globals.py │ │ │ │ ├── parser.py │ │ │ │ ├── termui.py │ │ │ │ ├── testing.py │ │ │ │ ├── types.py │ │ │ │ └── utils.py │ │ │ ├── dns/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _compat.py │ │ │ │ ├── dnssec.py │ │ │ │ ├── e164.py │ │ │ │ ├── edns.py │ │ │ │ ├── entropy.py │ │ │ │ ├── exception.py │ │ │ │ ├── flags.py │ │ │ │ ├── grange.py │ │ │ │ ├── hash.py │ │ │ │ ├── inet.py │ │ │ │ ├── ipv4.py │ │ │ │ ├── ipv6.py │ │ │ │ ├── message.py │ │ │ │ ├── name.py │ │ │ │ ├── namedict.py │ │ │ │ ├── node.py │ │ │ │ ├── opcode.py │ │ │ │ ├── py.typed │ │ │ │ ├── query.py │ │ │ │ ├── rcode.py │ │ │ │ ├── rdata.py │ │ │ │ ├── rdataclass.py │ │ │ │ ├── rdataset.py │ │ │ │ ├── rdatatype.py │ │ │ │ ├── rdtypes/ │ │ │ │ │ ├── ANY/ │ │ │ │ │ │ ├── AFSDB.py │ │ │ │ │ │ ├── AVC.py │ │ │ │ │ │ ├── CAA.py │ │ │ │ │ │ ├── CDNSKEY.py │ │ │ │ │ │ ├── CDS.py │ │ │ │ │ │ ├── CERT.py │ │ │ │ │ │ ├── CNAME.py │ │ │ │ │ │ ├── CSYNC.py │ │ │ │ │ │ ├── DLV.py │ │ │ │ │ │ ├── DNAME.py │ │ │ │ │ │ ├── DNSKEY.py │ │ │ │ │ │ ├── DS.py │ │ │ │ │ │ ├── EUI48.py │ │ │ │ │ │ ├── EUI64.py │ │ │ │ │ │ ├── GPOS.py │ │ │ │ │ │ ├── HINFO.py │ │ │ │ │ │ ├── HIP.py │ │ │ │ │ │ ├── ISDN.py │ │ │ │ │ │ ├── LOC.py │ │ │ │ │ │ ├── MX.py │ │ │ │ │ │ ├── NS.py │ │ │ │ │ │ ├── NSEC.py │ │ │ │ │ │ ├── NSEC3.py │ │ │ │ │ │ ├── NSEC3PARAM.py │ │ │ │ │ │ ├── OPENPGPKEY.py │ │ │ │ │ │ ├── PTR.py │ │ │ │ │ │ ├── RP.py │ │ │ │ │ │ ├── RRSIG.py │ │ │ │ │ │ ├── RT.py │ │ │ │ │ │ ├── SOA.py │ │ │ │ │ │ ├── SPF.py │ │ │ │ │ │ ├── SSHFP.py │ │ │ │ │ │ ├── TLSA.py │ │ │ │ │ │ ├── TXT.py │ │ │ │ │ │ ├── URI.py │ │ │ │ │ │ ├── X25.py │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── CH/ │ │ │ │ │ │ ├── A.py │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── IN/ │ │ │ │ │ │ ├── A.py │ │ │ │ │ │ ├── AAAA.py │ │ │ │ │ │ ├── APL.py │ │ │ │ │ │ ├── DHCID.py │ │ │ │ │ │ ├── IPSECKEY.py │ │ │ │ │ │ ├── KX.py │ │ │ │ │ │ ├── NAPTR.py │ │ │ │ │ │ ├── NSAP.py │ │ │ │ │ │ ├── NSAP_PTR.py │ │ │ │ │ │ ├── PX.py │ │ │ │ │ │ ├── SRV.py │ │ │ │ │ │ ├── WKS.py │ │ │ │ │ │ └── __init__.py │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── dnskeybase.py │ │ │ │ │ ├── dsbase.py │ │ │ │ │ ├── euibase.py │ │ │ │ │ ├── mxbase.py │ │ │ │ │ ├── nsbase.py │ │ │ │ │ └── txtbase.py │ │ │ │ ├── renderer.py │ │ │ │ ├── resolver.py │ │ │ │ ├── reversename.py │ │ │ │ ├── rrset.py │ │ │ │ ├── set.py │ │ │ │ ├── tokenizer.py │ │ │ │ ├── tsig.py │ │ │ │ ├── tsigkeyring.py │ │ │ │ ├── ttl.py │ │ │ │ ├── update.py │ │ │ │ ├── version.py │ │ │ │ ├── wiredata.py │ │ │ │ └── zone.py │ │ │ ├── engineio/ │ │ │ │ ├── __init__.py │ │ │ │ ├── async_aiohttp.py │ │ │ │ ├── async_asgi.py │ │ │ │ ├── async_drivers/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── aiohttp.py │ │ │ │ │ ├── asgi.py │ │ │ │ │ ├── eventlet.py │ │ │ │ │ ├── gevent.py │ │ │ │ │ ├── gevent_uwsgi.py │ │ │ │ │ ├── sanic.py │ │ │ │ │ ├── threading.py │ │ │ │ │ └── tornado.py │ │ │ │ ├── async_eventlet.py │ │ │ │ ├── async_gevent.py │ │ │ │ ├── async_gevent_uwsgi.py │ │ │ │ ├── async_sanic.py │ │ │ │ ├── async_threading.py │ │ │ │ ├── async_tornado.py │ │ │ │ ├── asyncio_client.py │ │ │ │ ├── asyncio_server.py │ │ │ │ ├── asyncio_socket.py │ │ │ │ ├── client.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── middleware.py │ │ │ │ ├── packet.py │ │ │ │ ├── payload.py │ │ │ │ ├── server.py │ │ │ │ ├── socket.py │ │ │ │ └── static_files.py │ │ │ ├── functools32/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _dummy_thread32.py │ │ │ │ ├── functools32.py │ │ │ │ └── reprlib32.py │ │ │ ├── idna/ │ │ │ │ ├── __init__.py │ │ │ │ ├── codec.py │ │ │ │ ├── compat.py │ │ │ │ ├── core.py │ │ │ │ ├── idnadata.py │ │ │ │ ├── intranges.py │ │ │ │ ├── package_data.py │ │ │ │ └── uts46data.py │ │ │ ├── opentimelineio/ │ │ │ │ ├── __init__.py │ │ │ │ ├── adapters/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── adapter.py │ │ │ │ │ ├── builtin_adapters.plugin_manifest.json │ │ │ │ │ ├── cmx_3600.py │ │ │ │ │ ├── fcp_xml.py │ │ │ │ │ └── otio_json.py │ │ │ │ ├── algorithms/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── filter.py │ │ │ │ │ ├── stack_algo.py │ │ │ │ │ ├── timeline_algo.py │ │ │ │ │ └── track_algo.py │ │ │ │ ├── console/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── autogen_serialized_datamodel.py │ │ │ │ │ ├── console_utils.py │ │ │ │ │ ├── otiocat.py │ │ │ │ │ ├── otioconvert.py │ │ │ │ │ └── otiostat.py │ │ │ │ ├── core/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── composable.py │ │ │ │ │ ├── composition.py │ │ │ │ │ ├── item.py │ │ │ │ │ ├── json_serializer.py │ │ │ │ │ ├── media_reference.py │ │ │ │ │ ├── serializable_object.py │ │ │ │ │ ├── type_registry.py │ │ │ │ │ └── unknown_schema.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── hooks.py │ │ │ │ ├── media_linker.py │ │ │ │ ├── opentime.py │ │ │ │ ├── plugins/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── manifest.py │ │ │ │ │ └── python_plugin.py │ │ │ │ ├── schema/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── clip.py │ │ │ │ │ ├── effect.py │ │ │ │ │ ├── external_reference.py │ │ │ │ │ ├── gap.py │ │ │ │ │ ├── generator_reference.py │ │ │ │ │ ├── marker.py │ │ │ │ │ ├── missing_reference.py │ │ │ │ │ ├── schemadef.py │ │ │ │ │ ├── serializable_collection.py │ │ │ │ │ ├── stack.py │ │ │ │ │ ├── timeline.py │ │ │ │ │ ├── track.py │ │ │ │ │ └── transition.py │ │ │ │ ├── schemadef/ │ │ │ │ │ └── __init__.py │ │ │ │ └── test_utils.py │ │ │ ├── opentimelineio_contrib/ │ │ │ │ ├── __init__.py │ │ │ │ └── adapters/ │ │ │ │ ├── __init__.py │ │ │ │ ├── aaf_adapter/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── aaf_writer.py │ │ │ │ ├── advanced_authoring_format.py │ │ │ │ ├── ale.py │ │ │ │ ├── burnins.py │ │ │ │ ├── contrib_adapters.plugin_manifest.json │ │ │ │ ├── extern_maya_sequencer.py │ │ │ │ ├── extern_rv.py │ │ │ │ ├── fcpx_xml.py │ │ │ │ ├── ffmpeg_burnins.py │ │ │ │ ├── hls_playlist.py │ │ │ │ ├── maya_sequencer.py │ │ │ │ ├── rv.py │ │ │ │ └── xges.py │ │ │ ├── pkg_resources/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _vendor/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── appdirs.py │ │ │ │ │ ├── packaging/ │ │ │ │ │ │ ├── __about__.py │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── _compat.py │ │ │ │ │ │ ├── _structures.py │ │ │ │ │ │ ├── markers.py │ │ │ │ │ │ ├── requirements.py │ │ │ │ │ │ ├── specifiers.py │ │ │ │ │ │ ├── utils.py │ │ │ │ │ │ └── version.py │ │ │ │ │ ├── pyparsing.py │ │ │ │ │ └── six.py │ │ │ │ ├── extern/ │ │ │ │ │ └── __init__.py │ │ │ │ ├── py2_warn.py │ │ │ │ └── py31compat.py │ │ │ ├── qtpy/ │ │ │ │ ├── Qt3DAnimation.py │ │ │ │ ├── Qt3DCore.py │ │ │ │ ├── Qt3DExtras.py │ │ │ │ ├── Qt3DInput.py │ │ │ │ ├── Qt3DLogic.py │ │ │ │ ├── Qt3DRender.py │ │ │ │ ├── QtCharts.py │ │ │ │ ├── QtCore.py │ │ │ │ ├── QtDataVisualization.py │ │ │ │ ├── QtDesigner.py │ │ │ │ ├── QtGui.py │ │ │ │ ├── QtHelp.py │ │ │ │ ├── QtLocation.py │ │ │ │ ├── QtMultimedia.py │ │ │ │ ├── QtMultimediaWidgets.py │ │ │ │ ├── QtNetwork.py │ │ │ │ ├── QtOpenGL.py │ │ │ │ ├── QtPositioning.py │ │ │ │ ├── QtPrintSupport.py │ │ │ │ ├── QtQml.py │ │ │ │ ├── QtQuick.py │ │ │ │ ├── QtQuickWidgets.py │ │ │ │ ├── QtSerialPort.py │ │ │ │ ├── QtSql.py │ │ │ │ ├── QtSvg.py │ │ │ │ ├── QtTest.py │ │ │ │ ├── QtWebChannel.py │ │ │ │ ├── QtWebEngineWidgets.py │ │ │ │ ├── QtWebSockets.py │ │ │ │ ├── QtWidgets.py │ │ │ │ ├── QtWinExtras.py │ │ │ │ ├── QtXmlPatterns.py │ │ │ │ ├── __init__.py │ │ │ │ ├── _patch/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── qcombobox.py │ │ │ │ │ └── qheaderview.py │ │ │ │ ├── _version.py │ │ │ │ ├── compat.py │ │ │ │ ├── py3compat.py │ │ │ │ ├── tests/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── conftest.py │ │ │ │ │ ├── runtests.py │ │ │ │ │ ├── test_macos_checks.py │ │ │ │ │ ├── test_main.py │ │ │ │ │ ├── test_patch_qcombobox.py │ │ │ │ │ ├── test_patch_qheaderview.py │ │ │ │ │ ├── test_qdesktopservice_split.py │ │ │ │ │ ├── test_qt3danimation.py │ │ │ │ │ ├── test_qt3dcore.py │ │ │ │ │ ├── test_qt3dextras.py │ │ │ │ │ ├── test_qt3dinput.py │ │ │ │ │ ├── test_qt3dlogic.py │ │ │ │ │ ├── test_qt3drender.py │ │ │ │ │ ├── test_qtcharts.py │ │ │ │ │ ├── test_qtcore.py │ │ │ │ │ ├── test_qtdatavisualization.py │ │ │ │ │ ├── test_qtdesigner.py │ │ │ │ │ ├── test_qthelp.py │ │ │ │ │ ├── test_qtlocation.py │ │ │ │ │ ├── test_qtmultimedia.py │ │ │ │ │ ├── test_qtmultimediawidgets.py │ │ │ │ │ ├── test_qtnetwork.py │ │ │ │ │ ├── test_qtpositioning.py │ │ │ │ │ ├── test_qtprintsupport.py │ │ │ │ │ ├── test_qtqml.py │ │ │ │ │ ├── test_qtquick.py │ │ │ │ │ ├── test_qtquickwidgets.py │ │ │ │ │ ├── test_qtserialport.py │ │ │ │ │ ├── test_qtsql.py │ │ │ │ │ ├── test_qtsvg.py │ │ │ │ │ ├── test_qttest.py │ │ │ │ │ ├── test_qtwebchannel.py │ │ │ │ │ ├── test_qtwebenginewidgets.py │ │ │ │ │ ├── test_qtwebsockets.py │ │ │ │ │ ├── test_qtwinextras.py │ │ │ │ │ ├── test_qtxmlpatterns.py │ │ │ │ │ └── test_uic.py │ │ │ │ └── uic.py │ │ │ ├── requests/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __version__.py │ │ │ │ ├── _internal_utils.py │ │ │ │ ├── adapters.py │ │ │ │ ├── api.py │ │ │ │ ├── auth.py │ │ │ │ ├── certs.py │ │ │ │ ├── compat.py │ │ │ │ ├── cookies.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── help.py │ │ │ │ ├── hooks.py │ │ │ │ ├── models.py │ │ │ │ ├── packages.py │ │ │ │ ├── sessions.py │ │ │ │ ├── status_codes.py │ │ │ │ ├── structures.py │ │ │ │ └── utils.py │ │ │ ├── secrets/ │ │ │ │ ├── LICENSE │ │ │ │ ├── __init__.py │ │ │ │ └── secrets.py │ │ │ ├── setuptools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _deprecation_warning.py │ │ │ │ ├── _imp.py │ │ │ │ ├── _vendor/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ordered_set.py │ │ │ │ │ ├── packaging/ │ │ │ │ │ │ ├── __about__.py │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── _compat.py │ │ │ │ │ │ ├── _structures.py │ │ │ │ │ │ ├── markers.py │ │ │ │ │ │ ├── requirements.py │ │ │ │ │ │ ├── specifiers.py │ │ │ │ │ │ ├── tags.py │ │ │ │ │ │ ├── utils.py │ │ │ │ │ │ └── version.py │ │ │ │ │ ├── pyparsing.py │ │ │ │ │ └── six.py │ │ │ │ ├── archive_util.py │ │ │ │ ├── build_meta.py │ │ │ │ ├── command/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── alias.py │ │ │ │ │ ├── bdist_egg.py │ │ │ │ │ ├── bdist_rpm.py │ │ │ │ │ ├── bdist_wininst.py │ │ │ │ │ ├── build_clib.py │ │ │ │ │ ├── build_ext.py │ │ │ │ │ ├── build_py.py │ │ │ │ │ ├── develop.py │ │ │ │ │ ├── dist_info.py │ │ │ │ │ ├── easy_install.py │ │ │ │ │ ├── egg_info.py │ │ │ │ │ ├── install.py │ │ │ │ │ ├── install_egg_info.py │ │ │ │ │ ├── install_lib.py │ │ │ │ │ ├── install_scripts.py │ │ │ │ │ ├── launcher manifest.xml │ │ │ │ │ ├── py36compat.py │ │ │ │ │ ├── register.py │ │ │ │ │ ├── rotate.py │ │ │ │ │ ├── saveopts.py │ │ │ │ │ ├── sdist.py │ │ │ │ │ ├── setopt.py │ │ │ │ │ ├── test.py │ │ │ │ │ ├── upload.py │ │ │ │ │ └── upload_docs.py │ │ │ │ ├── config.py │ │ │ │ ├── dep_util.py │ │ │ │ ├── depends.py │ │ │ │ ├── dist.py │ │ │ │ ├── errors.py │ │ │ │ ├── extension.py │ │ │ │ ├── extern/ │ │ │ │ │ └── __init__.py │ │ │ │ ├── glob.py │ │ │ │ ├── installer.py │ │ │ │ ├── launch.py │ │ │ │ ├── lib2to3_ex.py │ │ │ │ ├── monkey.py │ │ │ │ ├── msvc.py │ │ │ │ ├── namespaces.py │ │ │ │ ├── package_index.py │ │ │ │ ├── py27compat.py │ │ │ │ ├── py31compat.py │ │ │ │ ├── py33compat.py │ │ │ │ ├── py34compat.py │ │ │ │ ├── sandbox.py │ │ │ │ ├── script (dev).tmpl │ │ │ │ ├── script.tmpl │ │ │ │ ├── site-patch.py │ │ │ │ ├── ssl_support.py │ │ │ │ ├── unicode_utils.py │ │ │ │ ├── version.py │ │ │ │ ├── wheel.py │ │ │ │ └── windows_support.py │ │ │ ├── setuptools-45.0.0.dist-info/ │ │ │ │ ├── INSTALLER │ │ │ │ ├── LICENSE │ │ │ │ ├── METADATA │ │ │ │ ├── RECORD │ │ │ │ ├── REQUESTED │ │ │ │ ├── WHEEL │ │ │ │ ├── dependency_links.txt │ │ │ │ ├── entry_points.txt │ │ │ │ ├── top_level.txt │ │ │ │ └── zip-safe │ │ │ ├── socketio/ │ │ │ │ ├── __init__.py │ │ │ │ ├── asgi.py │ │ │ │ ├── asyncio_client.py │ │ │ │ ├── asyncio_manager.py │ │ │ │ ├── asyncio_namespace.py │ │ │ │ ├── asyncio_pubsub_manager.py │ │ │ │ ├── asyncio_redis_manager.py │ │ │ │ ├── asyncio_server.py │ │ │ │ ├── base_manager.py │ │ │ │ ├── client.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── kombu_manager.py │ │ │ │ ├── middleware.py │ │ │ │ ├── namespace.py │ │ │ │ ├── packet.py │ │ │ │ ├── pubsub_manager.py │ │ │ │ ├── redis_manager.py │ │ │ │ ├── server.py │ │ │ │ ├── tornado.py │ │ │ │ └── zmq_manager.py │ │ │ ├── urllib3/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _collections.py │ │ │ │ ├── _version.py │ │ │ │ ├── connection.py │ │ │ │ ├── connectionpool.py │ │ │ │ ├── contrib/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _appengine_environ.py │ │ │ │ │ ├── _securetransport/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── bindings.py │ │ │ │ │ │ └── low_level.py │ │ │ │ │ ├── appengine.py │ │ │ │ │ ├── ntlmpool.py │ │ │ │ │ ├── pyopenssl.py │ │ │ │ │ ├── securetransport.py │ │ │ │ │ └── socks.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── fields.py │ │ │ │ ├── filepost.py │ │ │ │ ├── packages/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── backports/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── makefile.py │ │ │ │ │ └── six.py │ │ │ │ ├── poolmanager.py │ │ │ │ ├── request.py │ │ │ │ ├── response.py │ │ │ │ └── util/ │ │ │ │ ├── __init__.py │ │ │ │ ├── connection.py │ │ │ │ ├── proxy.py │ │ │ │ ├── queue.py │ │ │ │ ├── request.py │ │ │ │ ├── response.py │ │ │ │ ├── retry.py │ │ │ │ ├── ssl_.py │ │ │ │ ├── ssl_match_hostname.py │ │ │ │ ├── ssltransport.py │ │ │ │ ├── timeout.py │ │ │ │ ├── url.py │ │ │ │ └── wait.py │ │ │ └── websocket/ │ │ │ ├── __init__.py │ │ │ ├── _abnf.py │ │ │ ├── _app.py │ │ │ ├── _cookiejar.py │ │ │ ├── _core.py │ │ │ ├── _exceptions.py │ │ │ ├── _handshake.py │ │ │ ├── _http.py │ │ │ ├── _logging.py │ │ │ ├── _socket.py │ │ │ ├── _ssl_compat.py │ │ │ ├── _url.py │ │ │ ├── _utils.py │ │ │ └── tests/ │ │ │ ├── __init__.py │ │ │ ├── data/ │ │ │ │ ├── header01.txt │ │ │ │ ├── header02.txt │ │ │ │ └── header03.txt │ │ │ ├── test_abnf.py │ │ │ ├── test_app.py │ │ │ ├── test_cookiejar.py │ │ │ ├── test_http.py │ │ │ ├── test_url.py │ │ │ └── test_websocket.py │ │ └── python_3/ │ │ └── README.md │ ├── version.py │ └── widgets/ │ ├── README.md │ ├── __init__.py │ ├── color_widgets/ │ │ ├── __init__.py │ │ ├── color_inputs.py │ │ ├── color_picker_widget.py │ │ ├── color_screen_pick.py │ │ ├── color_triangle.py │ │ └── color_view.py │ ├── message_window.py │ ├── nice_checkbox.py │ ├── password_dialog.py │ ├── popup.py │ └── sliders.py ├── poetry.toml ├── pyproject.toml ├── server_addon/ │ ├── README.md │ ├── aftereffects/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── creator_plugins.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ ├── templated_workfile_build.py │ │ │ └── workfile_builder.py │ │ └── version.py │ ├── applications/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── applications.json │ │ ├── settings.py │ │ ├── tools.json │ │ └── version.py │ ├── blender/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ └── render_settings.py │ │ └── version.py │ ├── celaction/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── imageio.py │ │ ├── settings.py │ │ └── version.py │ ├── clockify/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings.py │ │ └── version.py │ ├── core/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ └── tools.py │ │ └── version.py │ ├── create_ayon_addons.py │ ├── deadline/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── main.py │ │ │ └── publish_plugins.py │ │ └── version.py │ ├── equalizer/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── creator_plugins.py │ │ │ └── main.py │ │ └── version.py │ ├── flame/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── create_plugins.py │ │ │ ├── imageio.py │ │ │ ├── loader_plugins.py │ │ │ ├── main.py │ │ │ └── publish_plugins.py │ │ └── version.py │ ├── fusion/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── imageio.py │ │ ├── settings.py │ │ └── version.py │ ├── harmony/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ └── publish_plugins.py │ │ └── version.py │ ├── hiero/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── create_plugins.py │ │ │ ├── filters.py │ │ │ ├── imageio.py │ │ │ ├── loader_plugins.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ └── scriptsmenu.py │ │ └── version.py │ ├── houdini/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── create.py │ │ │ ├── general.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ ├── publish.py │ │ │ └── shelves.py │ │ └── version.py │ ├── max/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── create_review_settings.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ ├── publishers.py │ │ │ └── render_settings.py │ │ └── version.py │ ├── maya/ │ │ ├── LICENCE │ │ ├── README.md │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── creators.py │ │ │ ├── explicit_plugins_loading.py │ │ │ ├── imageio.py │ │ │ ├── include_handles.py │ │ │ ├── loaders.py │ │ │ ├── main.py │ │ │ ├── maya_dirmap.py │ │ │ ├── publish_playblast.py │ │ │ ├── publishers.py │ │ │ ├── render_settings.py │ │ │ ├── scriptsmenu.py │ │ │ ├── templated_workfile_settings.py │ │ │ └── workfile_build_settings.py │ │ └── version.py │ ├── nuke/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── create_plugins.py │ │ │ ├── dirmap.py │ │ │ ├── general.py │ │ │ ├── gizmo.py │ │ │ ├── imageio.py │ │ │ ├── loader_plugins.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ ├── scriptsmenu.py │ │ │ ├── templated_workfile_build.py │ │ │ └── workfile_builder.py │ │ └── version.py │ ├── openpype/ │ │ ├── client/ │ │ │ └── pyproject.toml │ │ └── server/ │ │ └── __init__.py │ ├── photoshop/ │ │ ├── LICENSE │ │ ├── README.md │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── creator_plugins.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ └── workfile_builder.py │ │ └── version.py │ ├── resolve/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── imageio.py │ │ ├── settings.py │ │ └── version.py │ ├── royal_render/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings.py │ │ └── version.py │ ├── substancepainter/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── imageio.py │ │ │ ├── load_plugins.py │ │ │ └── main.py │ │ └── version.py │ ├── timers_manager/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings.py │ │ └── version.py │ ├── traypublisher/ │ │ └── server/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── creator_plugins.py │ │ │ ├── editorial_creators.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ └── simple_creators.py │ │ └── version.py │ ├── tvpaint/ │ │ └── server/ │ │ ├── __init__.py │ │ ├── settings/ │ │ │ ├── __init__.py │ │ │ ├── create_plugins.py │ │ │ ├── filters.py │ │ │ ├── imageio.py │ │ │ ├── main.py │ │ │ ├── publish_plugins.py │ │ │ └── workfile_builder.py │ │ └── version.py │ └── unreal/ │ └── server/ │ ├── __init__.py │ ├── imageio.py │ ├── settings.py │ └── version.py ├── setup.cfg ├── setup.py ├── start.py ├── tests/ │ ├── README.md │ ├── __init__.py │ ├── conftest.py │ ├── integration/ │ │ ├── README.md │ │ └── hosts/ │ │ ├── aftereffects/ │ │ │ ├── lib.py │ │ │ ├── test_deadline_publish_in_aftereffects.py │ │ │ ├── test_deadline_publish_in_aftereffects_multicomposition.py │ │ │ ├── test_publish_in_aftereffects.py │ │ │ ├── test_publish_in_aftereffects_legacy.py │ │ │ └── test_publish_in_aftereffects_multiframe.py │ │ ├── maya/ │ │ │ ├── lib.py │ │ │ ├── test_deadline_publish_in_maya/ │ │ │ │ ├── README.md │ │ │ │ ├── expected/ │ │ │ │ │ └── test_project/ │ │ │ │ │ └── test_asset/ │ │ │ │ │ ├── publish/ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ └── modelMain/ │ │ │ │ │ │ │ ├── hero/ │ │ │ │ │ │ │ │ ├── test_project_test_asset_modelMain_hero.abc │ │ │ │ │ │ │ │ └── test_project_test_asset_modelMain_hero.ma │ │ │ │ │ │ │ └── v001/ │ │ │ │ │ │ │ ├── test_project_test_asset_modelMain_v001.abc │ │ │ │ │ │ │ └── test_project_test_asset_modelMain_v001.ma │ │ │ │ │ │ ├── render/ │ │ │ │ │ │ │ └── renderTest_taskMain_beauty/ │ │ │ │ │ │ │ └── v001/ │ │ │ │ │ │ │ └── test_project_test_asset_renderTest_taskMain_beauty_v001.exr │ │ │ │ │ │ └── workfile/ │ │ │ │ │ │ └── workfileTest_task/ │ │ │ │ │ │ └── v001/ │ │ │ │ │ │ └── test_project_test_asset_workfileTest_task_v001.ma │ │ │ │ │ └── work/ │ │ │ │ │ └── test_task/ │ │ │ │ │ ├── test_project_test_asset_test_task_v001.ma │ │ │ │ │ ├── test_project_test_asset_test_task_v002.ma │ │ │ │ │ └── workspace.mel │ │ │ │ └── input/ │ │ │ │ ├── dumps/ │ │ │ │ │ ├── avalon_tests/ │ │ │ │ │ │ ├── test_project.bson │ │ │ │ │ │ └── test_project.metadata.json │ │ │ │ │ └── openpype_tests/ │ │ │ │ │ ├── settings.bson │ │ │ │ │ └── settings.metadata.json │ │ │ │ ├── env_vars/ │ │ │ │ │ └── env_var.json │ │ │ │ ├── startup/ │ │ │ │ │ └── userSetup.py │ │ │ │ └── workfile/ │ │ │ │ └── test_project_test_asset_test_task_v001.ma │ │ │ ├── test_deadline_publish_in_maya.py │ │ │ ├── test_publish_in_maya/ │ │ │ │ ├── expected/ │ │ │ │ │ └── test_project/ │ │ │ │ │ └── test_asset/ │ │ │ │ │ ├── publish/ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ └── modelMain/ │ │ │ │ │ │ │ ├── hero/ │ │ │ │ │ │ │ │ ├── test_project_test_asset_modelMain_hero.abc │ │ │ │ │ │ │ │ └── test_project_test_asset_modelMain_hero.ma │ │ │ │ │ │ │ └── v001/ │ │ │ │ │ │ │ ├── test_project_test_asset_modelMain_v001.abc │ │ │ │ │ │ │ └── test_project_test_asset_modelMain_v001.ma │ │ │ │ │ │ └── workfile/ │ │ │ │ │ │ └── workfileTest_task/ │ │ │ │ │ │ └── v001/ │ │ │ │ │ │ └── test_project_test_asset_workfileTest_task_v001.ma │ │ │ │ │ └── work/ │ │ │ │ │ └── test_task/ │ │ │ │ │ ├── test_project_test_asset_test_task_v001.ma │ │ │ │ │ ├── test_project_test_asset_test_task_v002.ma │ │ │ │ │ └── workspace.mel │ │ │ │ └── input/ │ │ │ │ ├── dumps/ │ │ │ │ │ ├── avalon_tests/ │ │ │ │ │ │ ├── test_project.bson │ │ │ │ │ │ └── test_project.metadata.json │ │ │ │ │ └── openpype_tests/ │ │ │ │ │ ├── settings.bson │ │ │ │ │ └── settings.metadata.json │ │ │ │ ├── env_vars/ │ │ │ │ │ └── env_var.json │ │ │ │ ├── startup/ │ │ │ │ │ └── userSetup.py │ │ │ │ └── workfile/ │ │ │ │ └── test_project_test_asset_test_task_v001.ma │ │ │ └── test_publish_in_maya.py │ │ ├── nuke/ │ │ │ ├── lib.py │ │ │ ├── test_deadline_publish_in_nuke.py │ │ │ ├── test_deadline_publish_in_nuke_prerender.py │ │ │ └── test_publish_in_nuke.py │ │ └── photoshop/ │ │ ├── lib.py │ │ ├── test_publish_in_photoshop.py │ │ ├── test_publish_in_photoshop_auto_image.py │ │ └── test_publish_in_photoshop_review.py │ ├── lib/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── assert_classes.py │ │ ├── db_handler.py │ │ ├── file_handler.py │ │ └── testing_classes.py │ └── unit/ │ ├── igniter/ │ │ ├── test_bootstrap_repos.py │ │ └── test_tools.py │ └── openpype/ │ ├── conftest.py │ ├── hosts/ │ │ ├── photoshop/ │ │ │ └── test_lib.py │ │ └── unreal/ │ │ └── plugins/ │ │ └── publish/ │ │ └── test_validate_sequence_frames.py │ ├── lib/ │ │ ├── test_delivery.py │ │ ├── test_event_system.py │ │ └── test_user_settings.py │ ├── modules/ │ │ └── sync_server/ │ │ ├── test_module_api.py │ │ └── test_site_operations.py │ ├── pipeline/ │ │ ├── lib.py │ │ ├── publish/ │ │ │ └── test_publish_plugins.py │ │ ├── test_colorspace.py │ │ ├── test_colorspace_convert_colorspace_enumerator_item.py │ │ └── test_colorspace_get_colorspaces_enumerator_items.py │ └── plugins/ │ └── publish/ │ └── test_extract_review.py ├── tools/ │ ├── build.ps1 │ ├── build.sh │ ├── build_dependencies.py │ ├── build_win_installer.ps1 │ ├── ci_tools.py │ ├── create_env.ps1 │ ├── create_env.sh │ ├── create_zip.ps1 │ ├── create_zip.py │ ├── create_zip.sh │ ├── docker_build.ps1 │ ├── docker_build.sh │ ├── fetch_thirdparty_libs.ps1 │ ├── fetch_thirdparty_libs.py │ ├── fetch_thirdparty_libs.sh │ ├── get_python_packages_info.py │ ├── make_docs.ps1 │ ├── make_docs.sh │ ├── openpype_console.bat │ ├── pack_project.ps1 │ ├── parse_pyproject.py │ ├── run_documentation.ps1 │ ├── run_mongo.ps1 │ ├── run_mongo.sh │ ├── run_project_manager.ps1 │ ├── run_projectmanager.sh │ ├── run_publish_report_viewer.ps1 │ ├── run_settings.ps1 │ ├── run_settings.sh │ ├── run_tests.ps1 │ ├── run_tests.sh │ ├── run_tray.ps1 │ ├── run_tray.sh │ ├── unpack_project.ps1 │ ├── update_submodules.ps1 │ └── update_submodules.sh ├── vendor/ │ └── README.md └── website/ ├── README.md ├── docs/ │ ├── admin_builds.md │ ├── admin_distribute.md │ ├── admin_docsexamples.md │ ├── admin_environment.md │ ├── admin_hosts_aftereffects.md │ ├── admin_hosts_blender.md │ ├── admin_hosts_harmony.md │ ├── admin_hosts_hiero.md │ ├── admin_hosts_houdini.md │ ├── admin_hosts_maya.md │ ├── admin_hosts_nuke.md │ ├── admin_hosts_photoshop.md │ ├── admin_hosts_resolve.md │ ├── admin_hosts_tvpaint.md │ ├── admin_openpype_commands.md │ ├── admin_releases.md │ ├── admin_settings.md │ ├── admin_settings_local.md │ ├── admin_settings_project_anatomy.md │ ├── admin_settings_system.md │ ├── admin_use.md │ ├── admin_webserver_for_webpublisher.md │ ├── artist_concepts.md │ ├── artist_ftrack.md │ ├── artist_getting_started.md │ ├── artist_hosts_3dsmax.md │ ├── artist_hosts_aftereffects.md │ ├── artist_hosts_blender.md │ ├── artist_hosts_harmony.md │ ├── artist_hosts_hiero.md │ ├── artist_hosts_houdini.md │ ├── artist_hosts_maya.md │ ├── artist_hosts_maya_arnold.md │ ├── artist_hosts_maya_multiverse.md │ ├── artist_hosts_maya_redshift.md │ ├── artist_hosts_maya_vray.md │ ├── artist_hosts_maya_xgen.md │ ├── artist_hosts_maya_yeti.md │ ├── artist_hosts_nuke_tut.md │ ├── artist_hosts_photoshop.md │ ├── artist_hosts_resolve.md │ ├── artist_hosts_substancepainter.md │ ├── artist_hosts_tvpaint.md │ ├── artist_hosts_unreal.md │ ├── artist_install.md │ ├── artist_kitsu.md │ ├── artist_publish.md │ ├── artist_tools.md │ ├── artist_tools_context_manager.md │ ├── artist_tools_creator.md │ ├── artist_tools_inventory.md │ ├── artist_tools_library_loader.md │ ├── artist_tools_loader.md │ ├── artist_tools_look_assigner.md │ ├── artist_tools_publisher.md │ ├── artist_tools_subset_manager.md │ ├── artist_tools_sync_queu.md │ ├── artist_tools_workfiles.md │ ├── artist_work.md │ ├── dev_blender.md │ ├── dev_build.md │ ├── dev_colorspace.md │ ├── dev_contribute.md │ ├── dev_deadline.md │ ├── dev_host_implementation.md │ ├── dev_introduction.md │ ├── dev_publishing.md │ ├── dev_requirements.md │ ├── dev_settings.md │ ├── dev_testing.md │ ├── features.md │ ├── manager_ftrack.md │ ├── manager_ftrack_actions.md │ ├── module_clockify.md │ ├── module_deadline.md │ ├── module_ftrack.md │ ├── module_kitsu.md │ ├── module_royalrender.md │ ├── module_site_sync.md │ ├── module_slack.md │ ├── project_settings/ │ │ ├── settings_project_global.md │ │ ├── settings_project_nuke.md │ │ └── settings_project_standalone.md │ ├── pype2/ │ │ ├── admin_anatomy.md │ │ ├── admin_config.md │ │ ├── admin_ftrack.md │ │ ├── admin_hosts.md │ │ ├── admin_install.md │ │ ├── admin_introduction.md │ │ ├── admin_presets_ftrack.md │ │ ├── admin_presets_maya.md │ │ ├── admin_presets_nukestudio.md │ │ ├── admin_presets_plugins.md │ │ ├── admin_presets_tools.md │ │ ├── admin_pype_commands.md │ │ └── admin_setup_troubleshooting.md │ └── system_introduction.md ├── docusaurus.config.js ├── publish.cmd ├── sidebars.js ├── src/ │ ├── components/ │ │ ├── BadgesSection/ │ │ │ ├── badges.js │ │ │ ├── index.js │ │ │ └── styles.module.css │ │ ├── GithubButton/ │ │ │ └── index.js │ │ └── index.js │ ├── css/ │ │ └── custom.css │ └── pages/ │ ├── features.js │ ├── index.js │ └── styles.module.css └── static/ ├── .circleci/ │ └── config.yml └── img/ └── app_logos.psd